10#define __USB2MELIBU_H_
32#define MELIBU_SUCCESS (0)
33#define MELIBU_ERR_NOT_SUPPORT (-1)
34#define MELIBU_ERR_USB_WRITE_FAIL (-2)
35#define MELIBU_ERR_USB_READ_FAIL (-3)
36#define MELIBU_ERR_CMD_FAIL (-4)
37#define MELIBU_ERR_PARAMETER (-5)
45#define MELIBU_MASTER 0x01
46#define MELIBU_SLAVE 0x00
63#define MELIBU_ID_RT(ID) ((ID>>9)&1)
64#define MELIBU_ID_FS(ID) ((ID>>8)&1)
65#define MELIBU_ID_SADDR(ID) ((ID>>10)&0xFC)
73#define MELIBU_STATUS_NACK 0x01
74#define MELIBU_STATUS_RNRES 0x02
75#define MELIBU_STATUS_ECRC 0x04
76#define MELIBU_STATUS_FERR 0x08
77#define MELIBU_STATUS_DLEN 0x10
78#define MELIBU_STATUS_PERR 0x20
112 unsigned char SaveTxMsg;
132 int WINAPI
MeLiBu_Init(
int DevHandle,
unsigned char Index,
unsigned int BaudRate,
unsigned char MasterMode,
unsigned char ResEnable);
181 unsigned short WINAPI
MeLiBu_GetID(
unsigned char MsgMode,
unsigned char SlaveAddr,
unsigned char RT,
unsigned char F,
unsigned char dlc,
unsigned char InstrExt);
int WINAPI MeLiBu_GetSchInfo(int DevHandle, unsigned char Index, MELIBU_SCH_INFO *pSchInfo)
获取当前调度表执行信息,可以通过调用该函数获取帧发送情况
int WINAPI MeLiBu_GetMsg(int DevHandle, unsigned char Index, MELIBU_MSG *pMsg, unsigned int BufferSize)
获取帧缓冲区里面的帧数据,这些数据可能是发送出去的帧数据,也可能是从机模式下监控到的帧数据
int WINAPI MeLiBu_Stop(int DevHandle, unsigned char Index)
停止MELIBU总线,调用该函数后,总线无法再进行数据收发,需要使用总线需要重新调用 MeLiBu_Init 函数
int WINAPI MeLiBu_Init(int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable)
MELIBU总线初始化,在使用LIN相关函数之前必须先调用该函数
unsigned short WINAPI MeLiBu_GetID(unsigned char MsgMode, unsigned char SlaveAddr, unsigned char RT, unsigned char F, unsigned char dlc, unsigned char InstrExt)
根据参数自动生成ID数据
int WINAPI MeLiBu_SetRevTime(int DevHandle, unsigned char Index, int TimeUs)
设置接收数据时等待对方响应数据超时时间
int WINAPI MeLiBu_MasterStartSch(int DevHandle, unsigned char Index, MELIBU_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
主机模式执行MeLiBu总线调度表,可以使用该函数发送数据,读取从机数据
int WINAPI MeLiBu_MasterStopSch(int DevHandle, unsigned char Index)
停止正在执行的调度表
long long WINAPI MeLiBu_GetStartTime(int DevHandle, unsigned char Index)
获取启动MELIBU总线时的起始时间戳,单位为毫秒,可以通过该时间戳转换成实时时间
Definition: usb2melibu.h:86
unsigned short ID
ID值,可以通过调用 MeLiBu_GetID 函数获取
Definition: usb2melibu.h:95
unsigned short Crc16
发送数据时不用填,底层会自动计算,接收时代表接收到的CRC值
Definition: usb2melibu.h:96
unsigned short MsgSendTimes
当前帧发送次数
Definition: usb2melibu.h:93
unsigned char TimeStampHigh
时间戳高位
Definition: usb2melibu.h:92
unsigned char Data[128]
数据存储数组,里面包含的有效数据字节数由DataLen决定
Definition: usb2melibu.h:97
unsigned char Status
当前帧状态指示,接收时有效,指示帧异常状态
Definition: usb2melibu.h:89
unsigned char MsgMode
0-普通模式,1-扩展模式
Definition: usb2melibu.h:91
unsigned char ACKValue
应答值,发送数据时存储对方应答数据
Definition: usb2melibu.h:90
unsigned int TimeStamp
接收帧时为时间戳低位,单位为10us,发送数据时为跟下一帧的间隔时间,单位为微秒(us)
Definition: usb2melibu.h:94
unsigned char BreakBits
发送同步间隔宽度,一般为13
Definition: usb2melibu.h:88
unsigned char DataLen
Data域中有效数据字节数
Definition: usb2melibu.h:87
Definition: usb2melibu.h:105
unsigned char RunFlag
调度表运行标志
Definition: usb2melibu.h:111
unsigned int SchSendIndex
当前调度表发送次数
Definition: usb2melibu.h:107
unsigned int AllMsgLen
调度表里面包含帧数
Definition: usb2melibu.h:109
unsigned short MsgIndex
当前发送帧在调度表里面的索引
Definition: usb2melibu.h:110
unsigned int SchSendTimes
调度表发送次数,若为0xFFFFFFFF,表示一直循环发送
Definition: usb2melibu.h:106
unsigned int MsgSendIndex
当前帧发送次数索引
Definition: usb2melibu.h:108