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

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

结构体

struct  _LIN_EX_MSG
 LIN帧数据类型定义 更多...
 

类型定义

typedef struct _LIN_EX_MSG LIN_EX_MSG
 LIN帧数据类型定义
 
typedef struct _LIN_EX_MSGPLIN_EX_MSG
 

函数

int WINAPI LIN_EX_Init (int DevHandle, unsigned char LINIndex, unsigned int BaudRate, unsigned char MasterMode)
 LIN总线初始化,在使用LIN相关函数之前必须先调用该函数 更多...
 
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_MasterSync (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pInMsg, LIN_EX_MSG *pOutMsg, unsigned int MsgLen)
 主机模式下,阻塞模式收发LIN数据 更多...
 
int WINAPI LIN_EX_MasterBreak (int DevHandle, unsigned char LINIndex)
 主机模式发送同步间隔信号,一般用于唤醒总线上睡眠的从设备 更多...
 
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_MasterRead (int DevHandle, unsigned char LINIndex, unsigned char PID, unsigned char *pData)
 主机模式读数据 更多...
 
int WINAPI LIN_EX_GetMsg (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int BufSize)
 读取从机模式下接收到的帧或者主机模式下调度表发送的帧 更多...
 
int WINAPI LIN_EX_SlaveSetIDMode (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int MsgLen)
 设置从机ID模式为发送或者接收数据模式 更多...
 
int WINAPI LIN_EX_SlaveGetIDMode (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg)
 读取从机ID模式帧 更多...
 
int WINAPI LIN_EX_SlaveGetData (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg)
 读取从机模式下接收到的帧 更多...
 
int WINAPI LIN_EX_CtrlPowerOut (int DevHandle, unsigned char LINIndex, unsigned char VbatValue)
 控制VBAT引脚输出指定电压值 更多...
 
int WINAPI LIN_EX_GetVbatValue (int DevHandle, unsigned short *pBatValue)
 获取VBAT引脚电压,该函数已经弃用 更多...
 
int WINAPI LIN_EX_MasterStartSch (int DevHandle, unsigned char LINIndex, LIN_EX_MSG *pLINMsg, unsigned int MsgLen)
 主机调度表模式收发数据,使用该模式收发数据可以精确控制帧间隔时间,函数调用也是非阻塞的 更多...
 
int WINAPI LIN_EX_MasterStopSch (int DevHandle, unsigned char LINIndex)
 停止执行调度表 更多...
 
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_SetBusState (int DevHandle, unsigned char LINIndex, unsigned char BusState)
 控制总线输出高电平或者是低电平,注意输出低电平后,无法正常输出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_GetListFileMsg (int MsgIndex, int MsgLen, LIN_EX_MSG *pLINMsg)
 获取解析后的列表数据 更多...
 
long long WINAPI LIN_EX_GetStartTime (int DevHandle, unsigned char LINIndex)
 获取LIN起始时间戳,该时间戳可以转换成实际的时间 更多...
 
int WINAPI LIN_EX_ResetStartTime (int DevHandle, unsigned char LINIndex)
 复位时间戳,复位后起始时间戳为当前时间 更多...
 
int WINAPI LIN_EX_SetStartTime (int DevHandle, unsigned char LINIndex, long long StartTimeMs)
 设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用 更多...
 
int WINAPI LIN_EX_Stop (int DevHandle, unsigned char LINIndex)
 停止LIN总线,调用后将关闭LIN总线的任何操作,比如数据读写,从机响应等 更多...
 

函数返回错误值宏定义

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

#define LIN_EX_SUCCESS   (0)
 函数执行成功
 
#define LIN_EX_ERR_NOT_SUPPORT   (-1)
 适配器不支持该函数
 
#define LIN_EX_ERR_USB_WRITE_FAIL   (-2)
 USB写数据失败
 
#define LIN_EX_ERR_USB_READ_FAIL   (-3)
 USB读数据失败
 
#define LIN_EX_ERR_CMD_FAIL   (-4)
 命令执行失败
 
#define LIN_EX_ERR_CH_NO_INIT   (-5)
 该通道未初始化
 
#define LIN_EX_ERR_READ_DATA   (-6)
 LIN读数据失败
 
#define LIN_EX_ERR_PARAMETER   (-7)
 函数参数传入有误
 

校验类型宏定义

LIN总线校验类型定义

#define LIN_EX_CHECK_STD   0
 标准校验,校验数据不含PID
 
#define LIN_EX_CHECK_EXT   1
 增强校验,校验数据包含PID
 
#define LIN_EX_CHECK_USER   2
 自定义校验类型,需要用户自己计算并传入Check,不进行自动校验
 
#define LIN_EX_CHECK_NONE   3
 不计算校验数据
 
#define LIN_EX_CHECK_ERROR   4
 接收数据校验错误
 

主从宏定义

LIN主从宏定义

#define LIN_EX_MASTER   1
 主机
 
#define LIN_EX_SLAVE   0
 从机
 

VBAT引脚电压定义

VBAT引脚输出电压值定义

#define LIN_EX_VBAT_0V   0
 VBAT输出0V
 
#define LIN_EX_VBAT_12V   1
 VBAT输出12V
 
#define LIN_EX_VBAT_5V   2
 VBAT输出5V
 

帧类型宏定义

定义数据收发帧类型

#define LIN_EX_MSG_TYPE_UN   0
 未知类型
 
#define LIN_EX_MSG_TYPE_MW   1
 主机向从机发送数据
 
#define LIN_EX_MSG_TYPE_MR   2
 主机向从机读取数据
 
#define LIN_EX_MSG_TYPE_SW   3
 从机发送数据
 
#define LIN_EX_MSG_TYPE_SR   4
 从机接收数据
 
#define LIN_EX_MSG_TYPE_BK   5
 只发送BREAK信号,若是反馈回来的数据,表明只检测到BREAK信号
 
#define LIN_EX_MSG_TYPE_SY   6
 表明检测到了BREAK,SYNC信号
 
#define LIN_EX_MSG_TYPE_ID   7
 表明检测到了BREAK,SYNC,PID信号
 
#define LIN_EX_MSG_TYPE_DT   8
 表明检测到了BREAK,SYNC,PID,DATA信号
 
#define LIN_EX_MSG_TYPE_CK   9
 表明检测到了BREAK,SYNC,PID,DATA,CHECK信号
 

详细描述

USB转LIN接口函数和数据类型定义

函数说明

◆ LIN_EX_Init()

int WINAPI LIN_EX_Init ( int  DevHandle,
unsigned char  LINIndex,
unsigned int  BaudRate,
unsigned char  MasterMode 
)

LIN总线初始化,在使用LIN相关函数之前必须先调用该函数

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
BaudRateLIN总线波特率值,单位为bps,最小值为2000,最大值为100000
MasterModeLIN工作模式,0-从机,1-主机
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_Init2()

int WINAPI LIN_EX_Init2 ( int  DevHandle,
unsigned char  LINIndex,
unsigned int  BaudRateBps,
unsigned char  MasterMode,
int  ByteSpaceUs,
int  ResponseSpaceUs,
int  TimeOutMs 
)

LIN总线初始化,在使用LIN相关函数之前必须先调用该函数

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
BaudRateBpsLIN总线波特率值,单位为bps,最小值为2000,最大值为100000
MasterModeLIN工作模式,0-从机,1-主机
ByteSpaceUs主机发送数据时,字节间隔时间,单位为微秒
ResponseSpaceUs帧头与数据之间的时间间隔,单位为微秒
TimeOutMs主机读或者从机接收数据时,数据不满8字节时的超时时间,设置为0底层根据波特率自适应
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_MasterSync()

int WINAPI LIN_EX_MasterSync ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pInMsg,
LIN_EX_MSG pOutMsg,
unsigned int  MsgLen 
)

主机模式下,阻塞模式收发LIN数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[in]pInMsg输入帧指针
[out]pOutMsg输出帧指针
MsgLen输入帧数
返回
函数执行状态
返回值
>0pOutMsg里面存储的有效帧数
=0数据收发失败
<0函数调用失败

◆ LIN_EX_MasterBreak()

int WINAPI LIN_EX_MasterBreak ( int  DevHandle,
unsigned char  LINIndex 
)

主机模式发送同步间隔信号,一般用于唤醒总线上睡眠的从设备

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ LIN_EX_MasterWrite()

int WINAPI LIN_EX_MasterWrite ( int  DevHandle,
unsigned char  LINIndex,
unsigned char  PID,
unsigned char *  pData,
unsigned char  DataLen,
unsigned char  CheckType 
)

主机模式写数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
PID帧ID
[in]pData待发送数据缓冲区指针
DataLen待发送数据有效数据字节数
CheckType发送数据校验类型,0-标准校验,校验数据不包含ID,1-增强校验,校验数据包含ID
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ LIN_EX_MasterRead()

int WINAPI LIN_EX_MasterRead ( int  DevHandle,
unsigned char  LINIndex,
unsigned char  PID,
unsigned char *  pData 
)

主机模式读数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
PID帧ID
[out]pData读取数据存储缓冲区指针
返回
函数执行状态
返回值
>0成功读取到从机返回数据字节数
=0没有读到从机返回的数据,有可能是因为从机没有响应数据
<0函数调用失败

◆ LIN_EX_GetMsg()

int WINAPI LIN_EX_GetMsg ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg,
unsigned int  BufSize 
)

读取从机模式下接收到的帧或者主机模式下调度表发送的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[out]pLINMsg存储数据帧缓冲区指针
BufSize存储数据帧缓冲区大小
返回
函数执行状态
返回值
>=0成功读取到的帧数
<0函数调用失败

◆ LIN_EX_SlaveSetIDMode()

int WINAPI LIN_EX_SlaveSetIDMode ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg,
unsigned int  MsgLen 
)

设置从机ID模式为发送或者接收数据模式

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[in]pLINMsg帧指针,帧里面的MsgType来决定该ID是发送数据还是接收数据
MsgLen有效帧数
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ LIN_EX_SlaveGetIDMode()

int WINAPI LIN_EX_SlaveGetIDMode ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg 
)

读取从机ID模式帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[out]pLINMsg存储从机ID模式帧指针
返回
函数执行状态
返回值
>=0成功读取到的帧数
<0函数调用失败

◆ LIN_EX_SlaveGetData()

int WINAPI LIN_EX_SlaveGetData ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg 
)

读取从机模式下接收到的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[out]pLINMsg存储帧指针
返回
函数执行状态
返回值
>=0成功读取到的帧数
<0函数调用失败

◆ LIN_EX_CtrlPowerOut()

int WINAPI LIN_EX_CtrlPowerOut ( int  DevHandle,
unsigned char  LINIndex,
unsigned char  VbatValue 
)

控制VBAT引脚输出指定电压值

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
VbatValueVBAT输出电压值
LIN_EX_VBAT_0V 关闭VBAT引脚电压输出,关闭输出后,VBAT引脚需要外接电压LIN才能正常工作
LIN_EX_VBAT_12V VBAT引脚输出12V
LIN_EX_VBAT_5V VBAT引脚输出5V
返回
函数执行状态
返回值
0控制电压成功
<0函数调用失败

◆ LIN_EX_GetVbatValue()

int WINAPI LIN_EX_GetVbatValue ( int  DevHandle,
unsigned short *  pBatValue 
)

获取VBAT引脚电压,该函数已经弃用

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
[out]pBatValue引脚电压值输出指针
返回
函数执行状态
返回值
0读取电压值成功
<0函数调用失败
注意
该函数已经被弃用,调用该函数无法正确获取到VBAT引脚电压,不建议调用

◆ LIN_EX_MasterStartSch()

int WINAPI LIN_EX_MasterStartSch ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg,
unsigned int  MsgLen 
)

主机调度表模式收发数据,使用该模式收发数据可以精确控制帧间隔时间,函数调用也是非阻塞的

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
[in]pLINMsg调度表模式收发数据帧指针
MsgLen有效帧数
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_MasterStopSch()

int WINAPI LIN_EX_MasterStopSch ( int  DevHandle,
unsigned char  LINIndex 
)

停止执行调度表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_MasterGetSchState()

int WINAPI LIN_EX_MasterGetSchState ( int  DevHandle,
unsigned char  LINIndex 
)

获取调度表执行状态

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
调度表执行状态
返回值
0调度表未执行
1调度表正在执行
<0函数调用失败

◆ LIN_EX_MasterGetSch()

int WINAPI LIN_EX_MasterGetSch ( int  DevHandle,
unsigned char  LINIndex,
LIN_EX_MSG pLINMsg 
)

读取主机模式调度表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
pLINMsg调度表存储指针
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_MasterSetSchRunTimes()

int WINAPI LIN_EX_MasterSetSchRunTimes ( int  DevHandle,
unsigned char  LINIndex,
unsigned int  RunTimes 
)

设置调度表运行次数,必须在启动调度表之前调用,否则调度表会根据最后一帧的帧周期决定是发送一次还是循环发送

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
RunTimes调度表运行次数,若设置为0xFFFFFFFF则一直发送,直到调用停止运行函数
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_SetBusState()

int WINAPI LIN_EX_SetBusState ( int  DevHandle,
unsigned char  LINIndex,
unsigned char  BusState 
)

控制总线输出高电平或者是低电平,注意输出低电平后,无法正常输出LIN数据,需要重新控制输出高电平才能继续输出LIN数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
BusState总线状态,0-总线输出低电平,1-总线输出高电平
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_DecodeListFile()

int WINAPI LIN_EX_DecodeListFile ( char *  pFileName,
char  CheckType,
int  BaudRate,
char *  pReadDataList,
char  ReadDataListLen,
char *  pCheckTypeList,
char  CheckTypeListLen 
)

解析LIN列表文件

参数
[in]pFileNameLIN列表文件名称
CheckType校验类型,0-标准校验,1-增强校验
BaudRate波特率值,单位为bps
[in]pReadDataList数据类型为主机读的ID列表指针
ReadDataListLen数据类型为主机读的ID列表有效长度
[in]pCheckTypeList校验类型列表指针
CheckTypeListLen校验类型列表长度
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_GetListFileMsg()

int WINAPI LIN_EX_GetListFileMsg ( int  MsgIndex,
int  MsgLen,
LIN_EX_MSG pLINMsg 
)

获取解析后的列表数据

参数
MsgIndex帧索引
MsgLen帧长度
[out]pLINMsg存储帧指针
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ LIN_EX_GetStartTime()

long long WINAPI LIN_EX_GetStartTime ( int  DevHandle,
unsigned char  LINIndex 
)

获取LIN起始时间戳,该时间戳可以转换成实际的时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
LIN起始时间戳
返回值
<0函数调用失败

◆ LIN_EX_ResetStartTime()

int WINAPI LIN_EX_ResetStartTime ( int  DevHandle,
unsigned char  LINIndex 
)

复位时间戳,复位后起始时间戳为当前时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
函数执行状态
返回值
<0函数调用失败

◆ LIN_EX_SetStartTime()

int WINAPI LIN_EX_SetStartTime ( int  DevHandle,
unsigned char  LINIndex,
long long  StartTimeMs 
)

设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
StartTimeMs开始记录数据的起始时间戳,该时间戳为实时时间戳
返回
函数执行状态
返回值
<0函数调用失败

◆ LIN_EX_Stop()

int WINAPI LIN_EX_Stop ( int  DevHandle,
unsigned char  LINIndex 
)

停止LIN总线,调用后将关闭LIN总线的任何操作,比如数据读写,从机响应等

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
LINIndexLIN通道号,0-LIN1,1-LIN2,2-LIN3,3-LIN4
返回
函数执行状态
返回值
<0函数调用失败