#ifdef IV_WIN #include #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