2.接口函数库(二次开发库)使用说明书接口函数库(二次开发库)使用说明书说明书版本:V2.02更新日期:2016.06.012.接口函数库(二次开发库)使用说明书目录第一部分概述..........................................................................................................................1第二部分兼容ZLG函数库及数据结构................................................................................22.1类型定义.......................................................................................................................22.1.1DeviceType..............................................................................................................22.1.2VCI_BOARD_INFO................................................................................................22.1.3VCI_CAN_OBJ........................................................................................................32.1.4VCI_INIT_CONFIG................................................................................................42.2函数描述.......................................................................................................................72.2.1VCI_OpenDevice.....................................................................................................72.2.2VCI_CloseDevice.....................................................................................................82.2.3VCI_InitCan.............................................................................................................82.2.4VCI_ReadBoardInfo...............................................................................................112.2.5VCI_GetReceiveNum.............................................................................................122.2.6VCI_ClearBuffer....................................................................................................132.2.7VCI_StartCAN.......................................................................................................142.2.8VCI_ResetCAN......................................................................................................152.2.9VCI_Transmit.........................................................................................................162.2.10VCI_Receive........................................................................................................17第三部分其他函数及数据结构描述...................................................................................193.1类型定义.....................................................................................................................193.1.1VCI_BOARD_INFO1............................................................................................193.2函数描述.....................................................................................................................203.2.1VCI_ConnectDevice...............................................................................................213.2.2VCI_UsbDeviceReset.............................................................................................223.2.3VCI_FindUsbDevice..............................................................................................23第四部分接口库函数使用流程...........................................................................................24I珠海创芯光电科技有限公司技术支持邮箱:zhcxgd@163.com2.接口函数库(二次开发库)使用说明书第一部分概述用户如果只是利用USB-CAN总线接口适配器进行CAN总线调试,可以直接利用随机提供的USB-CANTool工具软件,进行收发数据的测试。如果用户打算编写自己产品的软件程序。请认真阅读以下说明,并参考我们提供的:①C++Builder②C#③VC④VB⑤VB.NET⑥Delphi⑦LabVIEW⑧LabWindows/CVI⑨Matlab等示例代码。开发用库文件:ControlCAN.lib,ControlCAN.DLLVC平台函数声明文件:ControlCAN.hVB平台函数声明文件:ControlCAN.basLabVIEW平台库函数封装模块:ControlCAN.llbDelphi平台函数声明文件:ControlCAN.pas第1页珠海创芯光电科技有限公司技术支持邮箱:zhcxgd@163.com2.接口函数库(二次开发库)使用说明书第二部分兼容ZLG函数库及数据结构2.1类型定义2.1.1DeviceType类型定义类型值描述VCI_USBCAN24USBCAN-2AUSBCAN-2CCANalyst-II2.1.2VCI_BOARD_INFOVCI_BOARD_INFO结构体包含USB-CAN系列接口卡的设备信息。结构体将在VCI_ReadBoardInfo函数中被填充。typedefstruct_VCI_BOARD_INFO{USHORThw_Version;USHORTfw_Version;USHORTdr_Version;USHORTin_Version;USHORTirq_Num;BYTEcan_Num;CHARstr_Serial_Num[20];CHARstr_hw_Type[40];USHORTReserved[4];}VCI_BOARD_INFO,*PVCI_BOARD_INFO;成员:hw_Version硬件版本号,用16进制表示。比如0x0100表示V1.00。fw_Version固件版本号,用16进制表示。比如0x0100表示V1.00。第2页珠海创芯光电科技有限公司技术支持邮箱:zhcxgd@163.com2.接口函数库(二次开发库)使用说明书dr_Version驱动程序版本号,用16进制表示。比如0x0100表示V1.00。in_Version接口库版本号,用16进制表示。比如0x0100表示V1.00。irq_Num保留参数。can_Num表示有几路CAN通道。str_Serial_Num此板卡的序列号。str_hw_Type硬件类型,比如“USBCANV1.00”(注意:包括字符串结束符’\0’)Reserved系统保留。2.1.3VCI_CAN_OBJ描述VCI_CAN_OBJ结构体是CAN帧结构体,即1个结构体表示一个帧的数据结构。在发送函数VCI_Transmit和接收函数VCI_Receive中,被用来传送CAN信息帧。typedefstruct_VCI_CAN_OBJ{UINTID;UINTTimeStamp;BYTETimeFlag;BYTESendType;BYTERemoteFlag;BYTEExternFlag;BYTEDataLen;BYTEData[8];BYTEReserved[3];第3页珠海创芯光电科技有限公司技术支持邮箱:zhcxgd@163.com2.接口函数库(二次开发库)使用说明书}VCI_CAN_OBJ,*PVCI_CAN_OBJ;成员:ID帧ID。32位变量,数据格式为靠右对齐。详情请参照:《8.附件1:ID对齐方式.pdf》说明文档。TimeStamp设备接收到某一帧的时间标识。时间标示从CAN卡上电开始计时,计时单位为0.1ms。TimeFlag是否使用时间标识,为1时TimeStamp有效,TimeFlag和TimeStamp只在此帧为接收帧时有意义。SendType发送帧类型。=0时为正常发送(发送失败会自动重发,重发最长时间为1.5-3秒);=1时为单次发送(只发送一次,不自动重发);其它值无效。RemoteFlag是否是远程帧。=0时为为数据帧,=1时为远程帧(数据段空)。ExternFlag是否是扩展帧。=0时为标准帧(11位ID),=1时为扩展帧(