USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
结构体 | 函数
USB转LUMIBUS

USB转LUMIBUS接口函数和数据类型定义 更多...

结构体

struct  _LUMIBUS_MSG
 
struct  _LUMIBUS_SCH_INFO
 

函数

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)
 获取当前调度表执行信息,可以通过调用该函数获取帧发送情况 更多...
 

LUMIBUS帧结构体

LUMIBUS帧类型定义

typedef struct _LUMIBUS_MSG LUMIBUS_MSG
 

LUMIBUS调度表信息

LUMIBUS调度表信息定义

typedef struct _LUMIBUS_SCH_INFO LUMIBUS_SCH_INFO
 

函数返回错误值宏定义

函数调用出错后返回值定义

#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 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
BaudRateLUMIBUS总线波特率值,单位为bps,最小值为2000,最大值为5000000
MasterModeLUMIBUS工作模式,0-从机,1-主机
ResEnable终端电阻配置,0-禁止,1-使能
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LUMIBUS_SetRevTime()

int WINAPI LUMIBUS_SetRevTime ( int  DevHandle,
unsigned char  Index,
int  TimeUs 
)

设置接收数据时等待对方响应数据超时时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
TimeUs等待对方响应数据超时时间,单位为us,最大值为65536微秒
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ 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 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
pMsg待发送的调度表帧数组
MsgLen待发送的调度表帧数
SendTimes调度表里面的帧数据循环发送次数,若设置为0xFFFFFFFF则会循环执行,直到调用 LUMIBUS_MasterStopSch 函数为止
ReadBackFlag回读调度表执行帧标志,0-不回读,1-底层会存储调度表发送的帧到数据缓冲区,通过调用 LUMIBUS_GetMsg 函数可以获取到调度表发送的帧数据
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LUMIBUS_GetMsg()

int WINAPI LUMIBUS_GetMsg ( int  DevHandle,
unsigned char  Index,
LUMIBUS_MSG pMsg,
unsigned int  BufferSize 
)

获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
pMsg存储帧数据的帧数组
BufferSize帧数组大小
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LUMIBUS_MasterStopSch()

int WINAPI LUMIBUS_MasterStopSch ( int  DevHandle,
unsigned char  Index 
)

停止执行调度表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LUMIBUS_Stop()

int WINAPI LUMIBUS_Stop ( int  DevHandle,
unsigned char  Index 
)

停止LUMIBUS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 LUMIBUS_Init 函数对总线进行初始化

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LUMIBUS_GetStartTime()

long long WINAPI LUMIBUS_GetStartTime ( int  DevHandle,
unsigned char  Index 
)

获取启动LUMIBUS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
返回
获取到的时间戳

◆ LUMIBUS_GetSchInfo()

int WINAPI LUMIBUS_GetSchInfo ( int  DevHandle,
unsigned char  Index,
LUMIBUS_SCH_INFO pSchInfo 
)

获取当前调度表执行信息,可以通过调用该函数获取帧发送情况

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexLUMIBUS通道号,0-CAN1,1-CAN2
pSchRunFlag调度表运行状态存储指针
pSchSendTimes调度表发送次数存储指针
pAllMsgNum调度表里面总帧数指针
pCurrentMsgIndex调度表当前正在发送的帧索引号指针
返回
获取到的时间戳