USB转LUMIBUS接口函数和数据类型定义
更多...
|
int WINAPI | LUMIBUS_Init (int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable) |
| LUMIBUS总线初始化,在使用LUMIBUS相关函数之前必须先调用该函数 更多...
|
|
int WINAPI | LUMIBUS_SetRevTime (int DevHandle, unsigned char Index, int TimeUs) |
| 设置接收数据时等待对方响应数据超时时间 更多...
|
|
int WINAPI | LUMIBUS_MasterStartSch (int DevHandle, unsigned char Index, LUMIBUS_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag) |
| 执行LUMIBUS帧调度表,可以使用该函数实现发送数据或者读取数据 更多...
|
|
int WINAPI | LUMIBUS_GetMsg (int DevHandle, unsigned char Index, LUMIBUS_MSG *pMsg, unsigned int BufferSize) |
| 获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据 更多...
|
|
int WINAPI | LUMIBUS_MasterStopSch (int DevHandle, unsigned char Index) |
| 停止执行调度表 更多...
|
|
int WINAPI | LUMIBUS_Stop (int DevHandle, unsigned char Index) |
| 停止LUMIBUS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 LUMIBUS_Init 函数对总线进行初始化 更多...
|
|
long long WINAPI | LUMIBUS_GetStartTime (int DevHandle, unsigned char Index) |
| 获取启动LUMIBUS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间 更多...
|
|
int WINAPI | LUMIBUS_GetSchInfo (int DevHandle, unsigned char Index, LUMIBUS_SCH_INFO *pSchInfo) |
| 获取当前调度表执行信息,可以通过调用该函数获取帧发送情况 更多...
|
|
|
函数调用出错后返回值定义
|
#define | LUMIBUS_SUCCESS (0) |
| 函数执行成功
|
|
#define | LUMIBUS_ERR_NOT_SUPPORT (-1) |
| 适配器不支持该函数
|
|
#define | LUMIBUS_ERR_USB_WRITE_FAIL (-2) |
| USB写数据失败
|
|
#define | LUMIBUS_ERR_USB_READ_FAIL (-3) |
| USB读数据失败
|
|
#define | LUMIBUS_ERR_CMD_FAIL (-4) |
| 命令执行失败
|
|
#define | LUMIBUS_ERR_PARAMETER (-5) |
| 参数错误
|
|
|
命令值宏定义
|
#define | LUMIBUS_CMD_SDW 0x02 |
| Single Device Write
|
|
#define | LUMIBUS_CMD_SDR 0x03 |
| Single Device Read
|
|
#define | LUMIBUS_CMD_BW 0x04 |
| Broadcast Write
|
|
#define | LUMIBUS_CMD_EBW 0x05 |
| Enhance Broadcast Write
|
|
#define | LUMIBUS_CMD_ESDW 0x06 |
| Enhance Single Device Write
|
|
#define | LUMIBUS_CMD_ESDR 0x07 |
| Enhance Single Device Read
|
|
|
帧状态定义,一个位定义一个状态
|
#define | LUMIBUS_STATUS_NACK 0x01 |
| 写无应答(非广播帧)
|
|
#define | LUMIBUS_STATUS_RNRES 0x02 |
| 读数据无应答
|
|
#define | LUMIBUS_STATUS_ECRC 0x04 |
| CRC校验错误
|
|
#define | LUMIBUS_STATUS_FERR 0x08 |
| 帧异常,实际字节数跟规定的不匹配
|
|
#define | LUMIBUS_STATUS_DLEN 0x10 |
| 实际数据字节数跟帧头字节数不匹配
|
|
#define | LUMIBUS_STATUS_EDID 0x20 |
| DevID的P0或者P1错误
|
|
USB转LUMIBUS接口函数和数据类型定义
◆ LUMIBUS_Init()
int WINAPI LUMIBUS_Init |
( |
int |
DevHandle, |
|
|
unsigned char |
Index, |
|
|
unsigned int |
BaudRate, |
|
|
unsigned char |
MasterMode, |
|
|
unsigned char |
ResEnable |
|
) |
| |
LUMIBUS总线初始化,在使用LUMIBUS相关函数之前必须先调用该函数
- 参数
-
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
Index | LUMIBUS通道号,0-CAN1,1-CAN2 |
BaudRate | LUMIBUS总线波特率值,单位为bps,最小值为2000,最大值为5000000 |
MasterMode | LUMIBUS工作模式,0-从机,1-主机 |
ResEnable | 终端电阻配置,0-禁止,1-使能 |
- 返回
- 函数执行状态
- 返回值
-
◆ LUMIBUS_SetRevTime()
int WINAPI LUMIBUS_SetRevTime |
( |
int |
DevHandle, |
|
|
unsigned char |
Index, |
|
|
int |
TimeUs |
|
) |
| |
设置接收数据时等待对方响应数据超时时间
- 参数
-
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
Index | LUMIBUS通道号,0-CAN1,1-CAN2 |
TimeUs | 等待对方响应数据超时时间,单位为us,最大值为65536微秒 |
- 返回
- 函数执行状态
- 返回值
-
◆ LUMIBUS_MasterStartSch()
int WINAPI LUMIBUS_MasterStartSch |
( |
int |
DevHandle, |
|
|
unsigned char |
Index, |
|
|
LUMIBUS_MSG * |
pMsg, |
|
|
unsigned int |
MsgLen, |
|
|
unsigned int |
SendTimes, |
|
|
unsigned char |
ReadBackFlag |
|
) |
| |
执行LUMIBUS帧调度表,可以使用该函数实现发送数据或者读取数据
- 参数
-
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
Index | LUMIBUS通道号,0-CAN1,1-CAN2 |
pMsg | 待发送的调度表帧数组 |
MsgLen | 待发送的调度表帧数 |
SendTimes | 调度表里面的帧数据循环发送次数,若设置为0xFFFFFFFF则会循环执行,直到调用 LUMIBUS_MasterStopSch 函数为止 |
ReadBackFlag | 回读调度表执行帧标志,0-不回读,1-底层会存储调度表发送的帧到数据缓冲区,通过调用 LUMIBUS_GetMsg 函数可以获取到调度表发送的帧数据 |
- 返回
- 函数执行状态
- 返回值
-
◆ LUMIBUS_GetMsg()
int WINAPI LUMIBUS_GetMsg |
( |
int |
DevHandle, |
|
|
unsigned char |
Index, |
|
|
LUMIBUS_MSG * |
pMsg, |
|
|
unsigned int |
BufferSize |
|
) |
| |
获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据
- 参数
-
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
Index | LUMIBUS通道号,0-CAN1,1-CAN2 |
pMsg | 存储帧数据的帧数组 |
BufferSize | 帧数组大小 |
- 返回
- 函数执行状态
- 返回值
-
◆ LUMIBUS_MasterStopSch()
int WINAPI LUMIBUS_MasterStopSch |
( |
int |
DevHandle, |
|
|
unsigned char |
Index |
|
) |
| |
◆ LUMIBUS_Stop()
int WINAPI LUMIBUS_Stop |
( |
int |
DevHandle, |
|
|
unsigned char |
Index |
|
) |
| |
停止LUMIBUS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 LUMIBUS_Init 函数对总线进行初始化
- 参数
-
- 返回
- 函数执行状态
- 返回值
-
◆ LUMIBUS_GetStartTime()
long long WINAPI LUMIBUS_GetStartTime |
( |
int |
DevHandle, |
|
|
unsigned char |
Index |
|
) |
| |
获取启动LUMIBUS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间
- 参数
-
- 返回
- 获取到的时间戳
◆ LUMIBUS_GetSchInfo()
int WINAPI LUMIBUS_GetSchInfo |
( |
int |
DevHandle, |
|
|
unsigned char |
Index, |
|
|
LUMIBUS_SCH_INFO * |
pSchInfo |
|
) |
| |
获取当前调度表执行信息,可以通过调用该函数获取帧发送情况
- 参数
-
DevHandle | 设备号,通过调用 USB_ScanDevice 获取 |
Index | LUMIBUS通道号,0-CAN1,1-CAN2 |
pSchRunFlag | 调度表运行状态存储指针 |
pSchSendTimes | 调度表发送次数存储指针 |
pAllMsgNum | 调度表里面总帧数指针 |
pCurrentMsgIndex | 调度表当前正在发送的帧索引号指针 |
- 返回
- 获取到的时间戳