| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #ifdef IV_WIN
- #include <QLibrary>
- #include "mingw_controlcan.h"
- /*
- EXTERNC DWORD (*pVCI_OpenDevice)(DWORD DeviceType,DWORD DeviceInd,DWORD Reserved);
- EXTERNC DWORD (*pVCI_CloseDevice)(DWORD DeviceType,DWORD DeviceInd);
- EXTERNC DWORD (*pVCI_InitCAN)(DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_INIT_CONFIG pInitConfig);
- EXTERNC DWORD (*pVCI_ReadBoardInfo)(DWORD DeviceType,DWORD DeviceInd,PVCI_BOARD_INFO pInfo);
- EXTERNC DWORD (*pVCI_SetReference)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD RefType,PVOID pData);
- //QT中请定义:
- //EXTERNC DWORD __stdcall VCI_SetReference(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,DWORD RefType,void *pData);
- EXTERNC ULONG (*pVCI_GetReceiveNum)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
- EXTERNC DWORD (*pVCI_ClearBuffer)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
- EXTERNC DWORD (*pVCI_StartCAN)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
- EXTERNC DWORD (*pVCI_ResetCAN)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd);
- EXTERNC ULONG (*pVCI_Transmit)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,ULONG Len);
- EXTERNC ULONG (*pVCI_Receive)(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pReceive,ULONG Len,INT WaitTime);
- EXTERNC DWORD (*pVCI_UsbDeviceReset)(DWORD DevType,DWORD DevIndex,DWORD Reserved);
- EXTERNC DWORD (*VCI_FindUsbDevice2)(PVCI_BOARD_INFO pInfo);
- */
- pVCI_OpenDevice VCI_OpenDevice;
- pVCI_CloseDevice VCI_CloseDevice;
- pVCI_InitCAN VCI_InitCAN;
- pVCI_ReadBoardInfo VCI_ReadBoardInfo;
- pVCI_SetReference VCI_SetReference;
- pVCI_GetReceiveNum VCI_GetReceiveNum;
- pVCI_ClearBuffer VCI_ClearBuffer;
- pVCI_StartCAN VCI_StartCAN;
- pVCI_ResetCAN VCI_ResetCAN;
- pVCI_Transmit VCI_Transmit;
- pVCI_Receive VCI_Receive;
- pVCI_UsbDeviceReset VCI_UsbDeviceReset;
- pVCI_FindUsbDevice2 VCI_FindUsbDevice2;
- void LoadVCILibrary()
- {
- QLibrary lib("ControlCAN");
- if(!lib.load())
- {
- qDebug("Load ControlCAN Fail.");
- qDebug("error is %s",lib.errorString().toLatin1().data());
- return;
- }
- VCI_OpenDevice = (pVCI_OpenDevice)lib.resolve("VCI_OpenDevice");
- if(VCI_OpenDevice == 0)
- {
- qDebug("Load VCI Fail");
- }
- VCI_CloseDevice = (pVCI_CloseDevice)lib.resolve("VCI_CloseDevice");
- VCI_InitCAN = (pVCI_InitCAN)lib.resolve("VCI_InitCAN");
- VCI_ReadBoardInfo = (pVCI_ReadBoardInfo)lib.resolve("VCI_ReadBoardInfo");
- VCI_SetReference = (pVCI_SetReference)lib.resolve("VCI_SetReference");
- VCI_GetReceiveNum = (pVCI_GetReceiveNum)lib.resolve("VCI_GetReceiveNum");
- VCI_ClearBuffer = (pVCI_ClearBuffer)lib.resolve("VCI_ClearBuffer");
- VCI_StartCAN = (pVCI_StartCAN)lib.resolve("VCI_StartCAN");
- VCI_ResetCAN = (pVCI_ResetCAN)lib.resolve("VCI_ResetCAN");
- VCI_Transmit = (pVCI_Transmit)lib.resolve("VCI_Transmit");
- VCI_Receive = (pVCI_Receive)lib.resolve("VCI_Receive");
- VCI_UsbDeviceReset = (pVCI_UsbDeviceReset)lib.resolve("VCI_UsbDeviceReset");
- VCI_FindUsbDevice2 = (pVCI_FindUsbDevice2)lib.resolve("VCI_FindUsbDevice2");
- }
- #endif
|