10#define __USB2LIN_EX_H_
32#define LIN_EX_SUCCESS (0)
33#define LIN_EX_ERR_NOT_SUPPORT (-1)
34#define LIN_EX_ERR_USB_WRITE_FAIL (-2)
35#define LIN_EX_ERR_USB_READ_FAIL (-3)
36#define LIN_EX_ERR_CMD_FAIL (-4)
37#define LIN_EX_ERR_CH_NO_INIT (-5)
38#define LIN_EX_ERR_READ_DATA (-6)
39#define LIN_EX_ERR_PARAMETER (-7)
47#define LIN_EX_CHECK_STD 0
48#define LIN_EX_CHECK_EXT 1
49#define LIN_EX_CHECK_USER 2
50#define LIN_EX_CHECK_NONE 3
51#define LIN_EX_CHECK_ERROR 4
59#define LIN_EX_MASTER 1
68#define LIN_EX_VBAT_0V 0
69#define LIN_EX_VBAT_12V 1
70#define LIN_EX_VBAT_5V 2
78#define LIN_EX_MSG_TYPE_UN 0
79#define LIN_EX_MSG_TYPE_MW 1
80#define LIN_EX_MSG_TYPE_MR 2
81#define LIN_EX_MSG_TYPE_SW 3
82#define LIN_EX_MSG_TYPE_SR 4
83#define LIN_EX_MSG_TYPE_BK 5
84#define LIN_EX_MSG_TYPE_SY 6
85#define LIN_EX_MSG_TYPE_ID 7
86#define LIN_EX_MSG_TYPE_DT 8
87#define LIN_EX_MSG_TYPE_CK 9
120int WINAPI
LIN_EX_Init(
int DevHandle,
unsigned char LINIndex,
unsigned int BaudRate,
unsigned char MasterMode);
135int WINAPI
LIN_EX_Init2(
int DevHandle,
unsigned char LINIndex,
unsigned int BaudRateBps,
unsigned char MasterMode,
int ByteSpaceUs,
int ResponseSpaceUs,
int TimeOutMs);
172int WINAPI
LIN_EX_MasterWrite(
int DevHandle,
unsigned char LINIndex,
unsigned char PID,
unsigned char *pData,
unsigned char DataLen,
unsigned char CheckType);
185int WINAPI
LIN_EX_MasterRead(
int DevHandle,
unsigned char LINIndex,
unsigned char PID,
unsigned char *pData);
338int WINAPI
LIN_EX_DecodeListFile(
char *pFileName,
char CheckType,
int BaudRate,
char *pReadDataList,
char ReadDataListLen,
char *pCheckTypeList,
char CheckTypeListLen);
int WINAPI LIN_EX_Init(int DevHandle, unsigned char LINIndex, unsigned int BaudRate, unsigned char MasterMode)
LIN总线初始化,在使用LIN相关函数之前必须先调用该函数
int WINAPI LIN_EX_GetListFileMsg(int MsgIndex, int MsgLen, LIN_EX_MSG *pLINMsg)
获取解析后的列表数据
int WINAPI LIN_EX_MasterWrite(int DevHandle, unsigned char LINIndex, unsigned char PID, unsigned char *pData, unsigned char DataLen, unsigned char CheckType)
主机模式写数据
int WINAPI LIN_EX_SlaveSetIDMode(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int MsgLen)
设置从机ID模式为发送或者接收数据模式
long long WINAPI LIN_EX_GetStartTime(int DevHandle, unsigned char LINIndex)
获取LIN起始时间戳,该时间戳可以转换成实际的时间
int WINAPI LIN_EX_MasterStopSch(int DevHandle, unsigned char LINIndex)
停止执行调度表
int WINAPI LIN_EX_CtrlPowerOut(int DevHandle, unsigned char LINIndex, unsigned char VbatValue)
控制VBAT引脚输出指定电压值
int WINAPI LIN_EX_ResetStartTime(int DevHandle, unsigned char LINIndex)
复位时间戳,复位后起始时间戳为当前时间
int WINAPI LIN_EX_MasterStartSch(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int MsgLen)
主机调度表模式收发数据,使用该模式收发数据可以精确控制帧间隔时间,函数调用也是非阻塞的
int WINAPI LIN_EX_SetStartTime(int DevHandle, unsigned char LINIndex, long long StartTimeMs)
设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用
int WINAPI LIN_EX_SlaveGetIDMode(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg)
读取从机ID模式帧
int WINAPI LIN_EX_MasterRead(int DevHandle, unsigned char LINIndex, unsigned char PID, unsigned char *pData)
主机模式读数据
int WINAPI LIN_EX_SetBusState(int DevHandle, unsigned char LINIndex, unsigned char BusState)
控制总线输出高电平或者是低电平,注意输出低电平后,无法正常输出LIN数据,需要重新控制输出高电平才能继续输出LIN数据
int WINAPI LIN_EX_MasterBreak(int DevHandle, unsigned char LINIndex)
主机模式发送同步间隔信号,一般用于唤醒总线上睡眠的从设备
int WINAPI LIN_EX_Init2(int DevHandle, unsigned char LINIndex, unsigned int BaudRateBps, unsigned char MasterMode, int ByteSpaceUs, int ResponseSpaceUs, int TimeOutMs)
LIN总线初始化,在使用LIN相关函数之前必须先调用该函数
int WINAPI LIN_EX_DecodeListFile(char *pFileName, char CheckType, int BaudRate, char *pReadDataList, char ReadDataListLen, char *pCheckTypeList, char CheckTypeListLen)
解析LIN列表文件
int WINAPI LIN_EX_MasterGetSchState(int DevHandle, unsigned char LINIndex)
获取调度表执行状态
int WINAPI LIN_EX_MasterGetSch(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg)
读取主机模式调度表
int WINAPI LIN_EX_MasterSetSchRunTimes(int DevHandle, unsigned char LINIndex, unsigned int RunTimes)
设置调度表运行次数,必须在启动调度表之前调用,否则调度表会根据最后一帧的帧周期决定是发送一次还是循环发送
int WINAPI LIN_EX_SlaveGetData(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg)
读取从机模式下接收到的帧
int WINAPI LIN_EX_MasterSync(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pInMsg, LIN_EX_MSG *pOutMsg, unsigned int MsgLen)
主机模式下,阻塞模式收发LIN数据
int WINAPI LIN_EX_GetVbatValue(int DevHandle, unsigned short *pBatValue)
获取VBAT引脚电压,该函数已经弃用
int WINAPI LIN_EX_GetMsg(int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int BufSize)
读取从机模式下接收到的帧或者主机模式下调度表发送的帧
struct _LIN_EX_MSG LIN_EX_MSG
LIN帧数据类型定义
int WINAPI LIN_EX_Stop(int DevHandle, unsigned char LINIndex)
停止LIN总线,调用后将关闭LIN总线的任何操作,比如数据读写,从机响应等
LIN帧数据类型定义
Definition: usb2lin_ex.h:93
unsigned char PID
帧ID,发送数据填入ID即可,接收数据时为PID,ID=PID&0x3F
Definition: usb2lin_ex.h:99
unsigned char Reserve1
调度表模式发送数据的时候代表当前帧的发送次数
Definition: usb2lin_ex.h:103
unsigned int Timestamp
从机接收数据时代表时间戳,单位为ms;主机读写数据时,表示数据读写后的延时时间,单位为ms
Definition: usb2lin_ex.h:94
unsigned char MsgType
帧类型
Definition: usb2lin_ex.h:95
unsigned char BreakBits
该帧的BRAK信号位数,有效值为10到26,若设置为其他值则默认为13位
Definition: usb2lin_ex.h:102
unsigned char DataLen
LIN数据段有效数据字节数
Definition: usb2lin_ex.h:97
unsigned char Data[8]
数据,有效数据通过DataLen来获取
Definition: usb2lin_ex.h:100
unsigned char Sync
固定值,0x55
Definition: usb2lin_ex.h:98
unsigned char CheckType
校验类型
Definition: usb2lin_ex.h:96
unsigned char Check
校验,只有校验数据类型为LIN_EX_CHECK_USER的时候才需要用户传入数据
Definition: usb2lin_ex.h:101