![]() |
USB2XXX 1.2
USB2XXX接口函数说明文档
|
USB转CAN接口函数和数据类型定义 更多...
结构体 | |
struct | _CAN_MSG |
CAN帧类型定义 更多... | |
struct | _CAN_INIT_CONFIG |
CAN初始化结构体 更多... | |
struct | _CAN_FILTER_CONFIG |
CAN过滤器结构体 更多... | |
struct | _CAN_STATUS |
CAN总线状态定义 更多... | |
struct | _CBL_CMD_LIST |
自定义CAN Bootloader命令列表 更多... | |
类型定义 | |
typedef struct _CAN_MSG | CAN_MSG |
CAN帧类型定义 | |
typedef struct _CAN_MSG * | PCAN_MSG |
typedef struct _CAN_INIT_CONFIG | CAN_INIT_CONFIG |
CAN初始化结构体 | |
typedef struct _CAN_INIT_CONFIG * | PCAN_INIT_CONFIG |
typedef struct _CAN_FILTER_CONFIG | CAN_FILTER_CONFIG |
CAN过滤器结构体 | |
typedef struct _CAN_FILTER_CONFIG * | PCAN_FILTER_CONFIG |
typedef struct _CAN_STATUS | CAN_STATUS |
CAN总线状态定义 | |
typedef struct _CAN_STATUS * | PCAN_STATUS |
typedef struct _CBL_CMD_LIST | CBL_CMD_LIST |
自定义CAN Bootloader命令列表 | |
typedef struct _CBL_CMD_LIST * | PCBL_CMD_LIST |
函数 | |
int WINAPI | CAN_GetCANSpeedArg (int DevHandle, CAN_INIT_CONFIG *pCanConfig, unsigned int BaudRateBps) |
通过波特率值获取具体的波特率参数,调用该函数后还需要调用 CAN_Init 函数才能设置设备波特率值 更多... | |
int WINAPI | CAN_Init (int DevHandle, unsigned char CANIndex, CAN_INIT_CONFIG *pCanConfig) |
初始化CAN总线,使用CAN功能时必须调用 更多... | |
int WINAPI | CAN_Init2 (int DevHandle, unsigned char CANIndex, int BaudRateBps, unsigned char EnResistor) |
简易方式初始化CAN总线,若需要自定义波特率参数,可以调用 CAN_Init 方式进行初始化 更多... | |
int WINAPI | CAN_Filter_Init (int DevHandle, unsigned char CANIndex, CAN_FILTER_CONFIG *pFilterConfig) |
配置CAN过滤器,通过配置过滤器可以只接收特定ID帧,或者指定ID范围内的帧 更多... | |
int WINAPI | CAN_FilterList_Init (int DevHandle, unsigned char CANIndex, unsigned int *pIDList, unsigned char IDListLen) |
配置CAN过滤器,通过配置过滤器设置只接收某些帧ID数据 更多... | |
int WINAPI | CAN_StartGetMsg (int DevHandle, unsigned char CANIndex) |
启动CAN消息自动读取功能,调用后会在后台自动读取CAN消息并将消息存储在上位机数据缓冲区中,调用该函数可以防止数据丢失 更多... | |
int WINAPI | CAN_StopGetMsg (int DevHandle, unsigned char CANIndex) |
停止自动接收CAN消息,停止后适配器收到CAN消息后会将消息缓存到适配器内部数据缓冲区,若长时间不去读取数据,则先接收到的数据会被丢失 更多... | |
int WINAPI | CAN_SendMsg (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanSendMsg, unsigned int SendMsgNum) |
发送CAN消息,消息发送完毕后该函数才会返回,发送期间会完全占用USB总线 更多... | |
int WINAPI | CAN_SendMsgSynch (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanSendMsg, unsigned int SendMsgNum) |
同步模式发送CAN消息,发送消息的时候不会完全占用USB总线 更多... | |
int WINAPI | CAN_SendMsgWithTime (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanSendMsg, unsigned int SendMsgNum) |
定时间隔模式发送CAN消息,发送消息的时候会完全占用USB总线,函数是阻塞的,同时会把发送帧放到接收数据缓冲区里面 更多... | |
int WINAPI | CAN_GetMsg (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanGetMsg) |
读取接收到的CAN消息,若调用了 CAN_StartGetMsg 函数,则从上位机缓冲区获取数据,否则从适配器内部获取数据 更多... | |
int WINAPI | CAN_GetMsgWithSize (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanGetMsg, int BufferSize) |
读取接收到的CAN消息 更多... | |
int WINAPI | CAN_ClearMsg (int DevHandle, unsigned char CANIndex) |
清空CAN接收数据缓冲区 更多... | |
int WINAPI | CAN_GetStatus (int DevHandle, unsigned char CANIndex, CAN_STATUS *pCANStatus) |
获取CAN总线状态信息 更多... | |
int WINAPI | CAN_SetSchedule (int DevHandle, unsigned char CANIndex, CAN_MSG *pCanMsgTab, unsigned char *pMsgNum, unsigned short *pSendTimes, unsigned char MsgTabNum) |
设置CAN调度表数据,调度表模式发送数据可以精确控制帧之间的间隔时间,启动调度表后适配器可以自动发送调度表里面数据 更多... | |
int WINAPI | CAN_StartSchedule (int DevHandle, unsigned char CANIndex, unsigned char MsgTabIndex, unsigned char TimePrecMs, unsigned char OrderSend) |
启动CAN调度表 更多... | |
int WINAPI | CAN_UpdateSchedule (int DevHandle, unsigned char CANIndex, unsigned char MsgTabIndex, unsigned char MsgIndex, CAN_MSG *pCanMsg, unsigned char MsgNum) |
更新调度表 更多... | |
int WINAPI | CAN_StopSchedule (int DevHandle, unsigned char CANIndex) |
停止执行CAN调度表 更多... | |
int WINAPI | CAN_SetRelayData (int DevHandle, CAN_RELAY_HEAD *pCANRelayHead, CAN_RELAY_DATA *pCANRelayData) |
设置CAN中继规则数据,调用该函数之前得确保两通道CAN都已经成功初始化 更多... | |
int WINAPI | CAN_GetRelayData (int DevHandle, CAN_RELAY_HEAD *pCANRelayHead, CAN_RELAY_DATA *pCANRelayData) |
读取CAN中继数据 更多... | |
int WINAPI | CAN_SetRelay (int DevHandle, unsigned char RelayState) |
设置CAN中继状态 更多... | |
int WINAPI | CAN_Stop (int DevHandle, unsigned char CANIndex) |
停止CAN总线,调用该函数后,适配器CAN节点将从CAN总线上断开,且无法正常应答其他节点发送的数据 更多... | |
int WINAPI | CAN_GetMsgSendTimeUs (CAN_MSG *pMsg, int SpeedBps) |
获取消息发送耗时时间,该值为理论值,实际值可能会大一些 更多... | |
int WINAPI | CAN_BL_Init (int DevHandle, int CANIndex, CAN_INIT_CONFIG *pInitConfig, CBL_CMD_LIST *pCmdList) |
CAN BOOT初始化 更多... | |
int WINAPI | CAN_BL_NodeCheck (int DevHandle, int CANIndex, unsigned short NodeAddr, unsigned int *pVersion, unsigned int *pType, unsigned int TimeOut) |
节点在线状态检测 更多... | |
int WINAPI | CAN_BL_Erase (int DevHandle, int CANIndex, unsigned short NodeAddr, unsigned int FlashSize, unsigned int TimeOut) |
擦出用户区数据 更多... | |
int WINAPI | CAN_BL_Write (int DevHandle, int CANIndex, unsigned short NodeAddr, unsigned int AddrOffset, unsigned char *pData, unsigned int DataNum, unsigned int TimeOut) |
写数据到应用程序存储区 更多... | |
int WINAPI | CAN_BL_Excute (int DevHandle, int CANIndex, unsigned short NodeAddr, unsigned int Type) |
执行程序 更多... | |
int WINAPI | CAN_BL_SetNewBaudRate (int DevHandle, int CANIndex, unsigned short NodeAddr, CAN_INIT_CONFIG *pInitConfig, unsigned int NewBaudRate, unsigned int TimeOut) |
设置节点波特率 更多... | |
int WINAPI | CAN_DecodeListFile (char *pFileName, unsigned int *pIgnoreIDList, int IgnoreIDListLen) |
解析列表文件 更多... | |
int WINAPI | CAN_GetListFileMsg (int MsgIndex, int MsgLen, CAN_MSG *pCANMsg) |
从列表文件里面获取已经解析到的帧 更多... | |
long long WINAPI | CAN_GetStartTime (int DevHandle, unsigned char CANIndex) |
获取CAN起始时间戳,该时间戳可以转换成实际的时间 更多... | |
int WINAPI | CAN_ResetStartTime (int DevHandle, unsigned char CANIndex) |
复位时间戳,复位后起始时间戳为当前时间 更多... | |
int WINAPI | CAN_SetStartTime (int DevHandle, unsigned char CANIndex, long long StartTimeMs) |
设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用 更多... | |
CAN BOOT固件类型定义 | |
CAN Bootloader当前固件类型定义 | |
#define | CAN_BL_BOOT 0x55555555 |
当前固件类型为Bootloader | |
#define | CAN_BL_APP 0xAAAAAAAA |
当前固件类型为App | |
CAN总线错误定义 | |
#define | CAN_BUS_ERROR_FLAG_TX_RX_WARNING (0x01) |
#define | CAN_BUS_ERROR_FLAG_BUS_PASSIVE (0x02) |
#define | CAN_BUS_ERROR_FLAG_TX_BUS_OFF (0x04) |
CAN总线模式定义 | |
#define | CAN_NORMAL 0 |
正常模式,需要外接CAN节点才能正常收发数据 | |
#define | CAN_LOOP_BACK 1 |
回环模式,无需外接CAN节点就可以实现自发自收 | |
#define | CAN_EN_RESISTOR 0x80 |
使能120Ω终端电阻 | |
USB转CAN接口函数和数据类型定义
int WINAPI CAN_GetCANSpeedArg | ( | int | DevHandle, |
CAN_INIT_CONFIG * | pCanConfig, | ||
unsigned int | BaudRateBps | ||
) |
通过波特率值获取具体的波特率参数,调用该函数后还需要调用 CAN_Init 函数才能设置设备波特率值
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
[out] | pCanConfig | CAN初始化结构体,用于存储波特率参数 |
BaudRateBps | CAN波特率值,单位为bps,比如500K波特率,则传入500000 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_Init | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_INIT_CONFIG * | pCanConfig | ||
) |
初始化CAN总线,使用CAN功能时必须调用
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pCanConfig | CAN初始化相关参数,具体可以参考 CAN_INIT_CONFIG |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_Init2 | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
int | BaudRateBps, | ||
unsigned char | EnResistor | ||
) |
简易方式初始化CAN总线,若需要自定义波特率参数,可以调用 CAN_Init 方式进行初始化
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
BaudRateBps | 波特率,单位为bps,比如500K的波特率需要传入500000 |
EnResistor | 是否开启内部终端电阻,0-关闭,1-开启 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_Filter_Init | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_FILTER_CONFIG * | pFilterConfig | ||
) |
配置CAN过滤器,通过配置过滤器可以只接收特定ID帧,或者指定ID范围内的帧
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pFilterConfig | CAN过滤器参数,具体可以参考 CAN_FILTER_CONFIG |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_FilterList_Init | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
unsigned int * | pIDList, | ||
unsigned char | IDListLen | ||
) |
配置CAN过滤器,通过配置过滤器设置只接收某些帧ID数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pIDList | 需要接收的ID列表,ID的bit[31]位为扩展帧标志,ID的bit[30]位为远程帧标志 |
IDListLen | 需要接收的ID数量,最大值为14 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_StartGetMsg | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
启动CAN消息自动读取功能,调用后会在后台自动读取CAN消息并将消息存储在上位机数据缓冲区中,调用该函数可以防止数据丢失
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_StopGetMsg | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
停止自动接收CAN消息,停止后适配器收到CAN消息后会将消息缓存到适配器内部数据缓冲区,若长时间不去读取数据,则先接收到的数据会被丢失
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_SendMsg | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanSendMsg, | ||
unsigned int | SendMsgNum | ||
) |
发送CAN消息,消息发送完毕后该函数才会返回,发送期间会完全占用USB总线
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pCanSendMsg | CAN消息指针 |
SendMsgNum | 待发送的消息帧数 |
=0 | CAN消息未发送成功 |
>0 | 成功发送消息帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_SendMsgSynch | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanSendMsg, | ||
unsigned int | SendMsgNum | ||
) |
同步模式发送CAN消息,发送消息的时候不会完全占用USB总线
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pCanSendMsg | CAN消息指针 |
SendMsgNum | 待发送的消息帧数 |
=0 | CAN消息未发送成功 |
>0 | 成功发送消息帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_SendMsgWithTime | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanSendMsg, | ||
unsigned int | SendMsgNum | ||
) |
定时间隔模式发送CAN消息,发送消息的时候会完全占用USB总线,函数是阻塞的,同时会把发送帧放到接收数据缓冲区里面
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pCanSendMsg | CAN消息指针 |
SendMsgNum | 待发送的消息帧数 |
=0 | CAN消息未发送成功 |
>0 | 成功发送消息帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_GetMsg | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanGetMsg | ||
) |
读取接收到的CAN消息,若调用了 CAN_StartGetMsg 函数,则从上位机缓冲区获取数据,否则从适配器内部获取数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[out] | pCanGetMsg | 存储CAN消息数据缓冲区指针,调用该函数会返回缓冲区中所有数据,所以该缓冲区要设置大一点,以免缓冲区溢出,导致程序异常 |
=0 | 未读取到CAN消息 |
>0 | 成功读取到的消息帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_GetMsgWithSize | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanGetMsg, | ||
int | BufferSize | ||
) |
读取接收到的CAN消息
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[out] | pCanGetMsg | 存储CAN消息数据缓冲区指针 |
BufferSize | 数据缓冲区能存储CAN消息帧数,也就是数据缓冲区容量大小 |
=0 | 未读取到CAN消息 |
>0 | 成功读取到的消息帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_ClearMsg | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
清空CAN接收数据缓冲区
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_GetStatus | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_STATUS * | pCANStatus | ||
) |
获取CAN总线状态信息
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[out] | pCANStatus | CAN总线状态结构体指针,具体参考 CAN_STATUS |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_SetSchedule | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
CAN_MSG * | pCanMsgTab, | ||
unsigned char * | pMsgNum, | ||
unsigned short * | pSendTimes, | ||
unsigned char | MsgTabNum | ||
) |
设置CAN调度表数据,调度表模式发送数据可以精确控制帧之间的间隔时间,启动调度表后适配器可以自动发送调度表里面数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pCanMsgTab | CAN调度表列表指针 |
[in] | pMsgNum | 调度表列表中每个调度表包含消息帧数 |
[in] | pSendTimes | 每个调度表里面帧发送次数,若为0xFFFF,则循环发送,通过调用 CAN_StopSchedule 函数停止发送 |
MsgTabNum | 调度表数 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_StartSchedule | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
unsigned char | MsgTabIndex, | ||
unsigned char | TimePrecMs, | ||
unsigned char | OrderSend | ||
) |
启动CAN调度表
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
MsgTabIndex | CAN调度表索引号 |
TimePrecMs | 调度表时间精度,比如调度表里面最小帧周期为10ms,那么就建议设置为10 |
OrderSend | 该调度表里面帧发送模式,0-并行发送,1-顺序发送 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_UpdateSchedule | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
unsigned char | MsgTabIndex, | ||
unsigned char | MsgIndex, | ||
CAN_MSG * | pCanMsg, | ||
unsigned char | MsgNum | ||
) |
更新调度表
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
MsgTabIndex | CAN调度表索引号 | |
MsgIndex | 开始更新帧起始索引,若起始索引大于调度表帧数,则将帧添加到调度表后面 | |
[in] | pCanMsg | 需要更新的CAN帧指针 |
MsgNum | pCanMsgTab里面包含的有效帧数 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_StopSchedule | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
停止执行CAN调度表
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_SetRelayData | ( | int | DevHandle, |
CAN_RELAY_HEAD * | pCANRelayHead, | ||
CAN_RELAY_DATA * | pCANRelayData | ||
) |
设置CAN中继规则数据,调用该函数之前得确保两通道CAN都已经成功初始化
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
[in] | pCANRelayHead | 中继规则头指针 |
[in] | pCANRelayData | 中继规则数据指针 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_GetRelayData | ( | int | DevHandle, |
CAN_RELAY_HEAD * | pCANRelayHead, | ||
CAN_RELAY_DATA * | pCANRelayData | ||
) |
读取CAN中继数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
[out] | pCANRelayHead | 中继数据头指针 |
[out] | pCANRelayData | 中继数据指针 |
>=0 | 获取到的CAN中继数据帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_SetRelay | ( | int | DevHandle, |
unsigned char | RelayState | ||
) |
设置CAN中继状态
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
RelayState | CAN中继状态 CAN_RELAY_NONE 关闭中继功能 CAN_RELAY_CAN1TO2 CAN1-->CAN2 CAN1收到数据后通过CAN2转发出去 CAN_RELAY_CAN2TO1 CAN2-->CAN1 CAN2收到数据后通过CAN1转发出去 CAN_RELAY_CANALL CAN1<->CAN2 CAN1收到数据后通过CAN2转发出去,CAN2收到数据后通过CAN1转发出去 CAN_RELAY_ONLINE 根据中继数据进行在线转换,需要调用 CAN_SetRelayData 函数设置中继数据 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_Stop | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
停止CAN总线,调用该函数后,适配器CAN节点将从CAN总线上断开,且无法正常应答其他节点发送的数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_GetMsgSendTimeUs | ( | CAN_MSG * | pMsg, |
int | SpeedBps | ||
) |
获取消息发送耗时时间,该值为理论值,实际值可能会大一些
[in] | pMsg | CAN消息指针 |
SpeedBps | 总线波特率,单位为Hz |
发送该帧耗时时间,单位为us |
int WINAPI CAN_BL_Init | ( | int | DevHandle, |
int | CANIndex, | ||
CAN_INIT_CONFIG * | pInitConfig, | ||
CBL_CMD_LIST * | pCmdList | ||
) |
CAN BOOT初始化
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
[in] | pInitConfig | 初始化结构体指针 |
[in] | pCmdList | 命令列表指针 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_BL_NodeCheck | ( | int | DevHandle, |
int | CANIndex, | ||
unsigned short | NodeAddr, | ||
unsigned int * | pVersion, | ||
unsigned int * | pType, | ||
unsigned int | TimeOut | ||
) |
节点在线状态检测
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
NodeAddr | 节点地址 | |
[out] | pVersion | 固件版本号输出 |
[out] | pType | 固件类型输出 |
TimeOut | 超时时间,单位为毫秒 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_BL_Erase | ( | int | DevHandle, |
int | CANIndex, | ||
unsigned short | NodeAddr, | ||
unsigned int | FlashSize, | ||
unsigned int | TimeOut | ||
) |
擦出用户区数据
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
NodeAddr | 节点地址 |
FlashSize | 待擦出的数据长度,单位为字节 |
TimeOut | 超时时间,单位为毫秒 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_BL_Write | ( | int | DevHandle, |
int | CANIndex, | ||
unsigned short | NodeAddr, | ||
unsigned int | AddrOffset, | ||
unsigned char * | pData, | ||
unsigned int | DataNum, | ||
unsigned int | TimeOut | ||
) |
写数据到应用程序存储区
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
NodeAddr | 节点地址 | |
AddrOffset | 数据写入起始地址 | |
[in] | pData | 待写入的数据指针 |
DataNum | 待写入数据字节数 | |
TimeOut | 超时时间,单位为毫秒 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_BL_Excute | ( | int | DevHandle, |
int | CANIndex, | ||
unsigned short | NodeAddr, | ||
unsigned int | Type | ||
) |
执行程序
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
NodeAddr | 节点地址 |
Type | 固件类型 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_BL_SetNewBaudRate | ( | int | DevHandle, |
int | CANIndex, | ||
unsigned short | NodeAddr, | ||
CAN_INIT_CONFIG * | pInitConfig, | ||
unsigned int | NewBaudRate, | ||
unsigned int | TimeOut | ||
) |
设置节点波特率
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 | |
CANIndex | CAN通道号,0-CAN1,1-CAN2 | |
NodeAddr | 节点地址 | |
[in] | pInitConfig | 初始化结构体指针 |
NewBaudRate | 新波特率值,单位为bps | |
TimeOut | 超时时间,单位为毫秒 |
=0 | 函数执行成功 |
<0 | 函数调用失败 |
int WINAPI CAN_DecodeListFile | ( | char * | pFileName, |
unsigned int * | pIgnoreIDList, | ||
int | IgnoreIDListLen | ||
) |
解析列表文件
pFileName | 文件名称 |
pIgnoreIDList | 需要忽略的ID列表指针 |
IgnoreIDListLen | 需要忽略的ID列表长度 |
>=0 | 解析到的CAN帧数 |
<0 | 函数调用失败 |
int WINAPI CAN_GetListFileMsg | ( | int | MsgIndex, |
int | MsgLen, | ||
CAN_MSG * | pCANMsg | ||
) |
从列表文件里面获取已经解析到的帧
MsgIndex | 消息起始位置 |
MsgLen | 消息长度 |
pCANMsg | 消息数据存储指针 |
>=0 | 成功获取到的消息帧数 |
<0 | 函数调用失败 |
long long WINAPI CAN_GetStartTime | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
获取CAN起始时间戳,该时间戳可以转换成实际的时间
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
<0 | 函数调用失败 |
int WINAPI CAN_ResetStartTime | ( | int | DevHandle, |
unsigned char | CANIndex | ||
) |
复位时间戳,复位后起始时间戳为当前时间
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
<0 | 函数调用失败 |
int WINAPI CAN_SetStartTime | ( | int | DevHandle, |
unsigned char | CANIndex, | ||
long long | StartTimeMs | ||
) |
设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
CANIndex | CAN通道号,0-CAN1,1-CAN2 |
StartTimeMs | 开始记录数据的起始时间戳,该时间戳为实时时间戳 |
<0 | 函数调用失败 |