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

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

结构体

struct  _SENT_CONFIG
 
struct  _SENT_MSG
 

函数

int WINAPI SENT_Init (int DevHandle, unsigned char Channel, SENT_CONFIG *pConfig)
 初始化配置SENT总线,必须调用,否则无法正常工作 更多...
 
int WINAPI SENT_SetTickTime (int DevHandle, unsigned char Channel, double TickTimeUs)
 配置SENT总线Tick时间 更多...
 
int WINAPI SENT_SendMsg (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg, unsigned int MsgNum)
 主机模式下手动发送SENT消息 更多...
 
int WINAPI SENT_StartFastMsgTable (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg, unsigned int MsgNum, unsigned int SendTimes)
 设置并启动SENT快速通道帧发送列表 更多...
 
int WINAPI SENT_UpdateFastMsgTable (int DevHandle, unsigned char Channel, unsigned char StartMsgIndex, SENT_MSG *pSentMsg, unsigned int MsgNum)
 更新SENT快速通道发送列表中的帧 更多...
 
int WINAPI SENT_StopFastMsgTable (int DevHandle, unsigned char Channel)
 停止正在发送的SENT帧列表 更多...
 
int WINAPI SENT_StartSPCMsgTable (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg, unsigned int MsgNum, unsigned int SendTimes)
 设置并启动SENT SPC帧发送列表 更多...
 
int WINAPI SENT_UpdateSPCMsgTable (int DevHandle, unsigned char Channel, unsigned char StartMsgIndex, SENT_MSG *pSentMsg, unsigned int MsgNum)
 更新SENT SPC快速通道发送列表中的帧 更多...
 
int WINAPI SENT_StopSPCMsgTable (int DevHandle, unsigned char Channel)
 停止正在发送的SENT帧列表 更多...
 
int WINAPI SENT_StartSlowMsgTable (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg, unsigned int MsgNum, unsigned int SendTimes)
 设置并启动SENT慢速通道帧发送列表,调用该函数后数据不会立即发送,它是在发送快速数据的时候才通过Status域发送,所以需要发送慢速通道帧数据,需要同时启动快速帧发送列表 更多...
 
int WINAPI SENT_UpdateSlowMsgTable (int DevHandle, unsigned char Channel, unsigned char StartMsgIndex, SENT_MSG *pSentMsg, unsigned int MsgNum)
 更新慢速通道发送列表中的帧 更多...
 
int WINAPI SENT_StopSlowMsgTable (int DevHandle, unsigned char Channel)
 停止正在发送的SENT帧列表 更多...
 
int WINAPI SENT_GetMsg (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg)
 主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧 更多...
 
int WINAPI SENT_GetMsgWithSize (int DevHandle, unsigned char Channel, SENT_MSG *pSentMsg, unsigned int BufSize)
 主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧 更多...
 
long long WINAPI SENT_GetStartTime (int DevHandle, unsigned char Channel)
 获取SENT起始时间戳,该时间戳可以转换成实际的时间 更多...
 
int WINAPI SENT_ResetStartTime (int DevHandle, unsigned char Channel)
 复位时间戳,复位后起始时间戳为当前时间 更多...
 
int WINAPI SENT_Stop (int DevHandle, unsigned char Channel)
 停止SENT总线功能 更多...
 
int WINAPI SENT_MsgDecode (unsigned char DataFormat, SENT_MSG *pSentMsg, int MsgNum, unsigned int *pDataCh1, unsigned int *pDataCh2)
 将快速通道原始SENT数据解析成实际数据,注意只解析快速通道帧数据 更多...
 
int WINAPI SENT_MsgDecodeEx (unsigned char DataFormat, SENT_MSG *pSentMsg, int MsgNum, unsigned int *pDataCh1, unsigned int *pDataCh2, unsigned char *pFC, unsigned char *pDCC)
 将快速通道原始SENT数据解析成实际数据,注意只解析快速通道帧数据 更多...
 

SENT帧数据格式

SENT帧数据格式定义

enum  SENT_DATA_FORMATS {
  H0 = 0 , H1 , H2 , H3 ,
  H4 , H5 , H6 , H7 ,
  F1_1 , F1_2 , F1_3 , F1_4 ,
  F1_5 , F1_6 , F2_1 , F2_2 ,
  F2_3 , F2_4 , F3_1 , F3_2 ,
  F3_3 , F3_4 , F3_5 , F4_1 ,
  F4_2 , F4_3 , F4_4 , F4_5 ,
  F4_6 , F4_7 , F4_8 , F4_9
}
 

SENT初始化结构体

SENT初始化结构定义

typedef struct _SENT_CONFIG SENT_CONFIG
 

SENT帧结构体

SENT帧结构体定义

typedef struct _SENT_MSG SENT_MSG
 

函数返回错误值宏定义

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

#define SENT_SUCCESS   (0)
 函数执行成功
 
#define SENT_ERR_NOT_SUPPORT   (-1)
 适配器不支持该函数
 
#define SENT_ERR_USB_WRITE_FAIL   (-2)
 USB写数据失败
 
#define SENT_ERR_USB_READ_FAIL   (-3)
 USB读数据失败
 
#define SENT_ERR_CMD_FAIL   (-4)
 命令执行失败
 
#define SENT_ERR_PARAMETER   (-5)
 函数参数传入有误
 
#define SENT_ERR_MSG_TYPE   (-6)
 当前函数不支持该消息类型
 

SENT主从模式

SENT主从模式宏定义

#define SENT_MASTER   1
 主机模式,用于模拟主节点发送数据
 
#define SENT_SLAVE   0
 从机模式,用于监控SENT主机发送出来的数据
 
#define SENT_SPC   0x80
 使能SPC模式
 
#define SENT_SPC_SLAVE_TX   0x40
 使能SPC从机模式发送数据
 

SENT消息类型

SENT消息类型定义,该值在MsgType里面体现

#define SENT_MSGTYPE_ERROR   0
 错误帧,比如CRC错误,数据不完整等
 
#define SENT_MSGTYPE_FAST   1
 快速通道数据,数据存放在Data[0]~Data[7]里面,Status的高4位代表数据有效半字节数
 
#define SENT_MSGTYPE_SLOW_SHORT   2
 慢速通道,简短型串行信息,8位数据+4位ID,Data[0]为ID,Data[1]为数据
 
#define SENT_MSGTYPE_SLOW_ENH1   3
 慢速通道,增强型串行信息,12位数据+8位ID,Data[0]为ID,Data[1]为高4位数据,Data[2]为低8位数据
 
#define SENT_MSGTYPE_SLOW_ENH2   4
 慢速通道,增强型串行信息,16位数据+4位ID,Data[0]为ID,Data[1]为高8位数据,Data[2]为低8位数据
 
#define SENT_MSGTYPE_TX   0x80
 当前帧为发送数据帧
 
#define SENT_MSGTYPE_SPC   0x08
 当前帧为SPC模式帧
 

SENT总线空闲电平

SENT空闲模式下总线电平

#define SENT_IDLE_HIGH   1
 总线空闲时为高电平,数据输出低电平脉冲
 
#define SENT_IDLE_LOW   0
 总线空闲时为低电平,数据输出高电平脉冲
 

详细描述

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

枚举类型说明

◆ SENT_DATA_FORMATS

枚举值
H1 

CH1=(byte[0]<<8)|(byte[1]<<4)|byte[2],CH2=(byte[5]<<8)|(byte[4]<<4)|byte[3]

H2 

CH1=(byte[0]<<8)|(byte[1]<<4)|byte[2]

H3 

CH1=(byte[0]<<9)|(byte[1]<<6)|(byte[2]<<3)|byte[3]

H4 

CH1=(byte[0]<<8)|(byte[1]<<4)|byte[2],CH2(Counter)=(byte[3]<<4)|byte[4]

H5 

CH1=(byte[0]<<8)|(byte[1]<<4)|byte[2],CH2=0

H6 

CH1=(byte[0]<<10)|(byte[1]<<6)|(byte[2]<<2)|(byte[3]>>2),CH2=(byte[5]<<6)|(byte[4]<<2)|(byte[3]&0x03)

H7 

CH1=(byte[0]<<12)|(byte[1]<<8)|(byte[2]<<4)|byte[3],CH2==(byte[5]<<4)|byte[4]

F1_1 

FC=byte[0],CH1=(byte[1]<<8)|(byte[2]<<4)|byte[3]

F1_2 

FC=byte[0],CH1=(byte[1]<<8)|(byte[2]<<4)|byte[3]

F1_3 

FC=byte[0],CH1=(byte[1]<<8)|(byte[2]<<4)|byte[3]

F1_4 

FC=byte[0],DCC=byte[1],CH1=(byte[2]<<8)|(byte[3]<<4)|byte[4]

F1_5 

FC=byte[0],DCC=byte[1],CH1=(byte[2]<<8)|(byte[3]<<4)|byte[4]

F1_6 

FC=byte[0],DCC=byte[1],CH1=(byte[2]<<8)|(byte[3]<<4)|byte[4]

F2_1 

FC=byte[0],CH1=(byte[1]<<12)|(byte[2]<<8)|(byte[3]<<4)|byte[4]

F2_2 

FC=byte[0],CH1=(byte[1]<<12)|(byte[2]<<8)|(byte[3]<<4)|byte[4]

F2_3 

FC=byte[0],CH1=(byte[1]<<12)|(byte[2]<<8)|(byte[3]<<4)|byte[4]

F2_4 

FC=byte[0],DCC=byte[1],CH1=(byte[2]<<12)|(byte[3]<<8)|(byte[4]<<4)|byte[5]

F3_1 

FC=byte[0],CH1=(byte[1]<<8)|(byte[2]<<4)|byte[3],CH2=(byte[5]<<4)|byte[4]

F3_2 

FC=byte[0],CH1=(byte[1]<<6)|(byte[2]<<2)|(byte[3]>>2),CH2=(byte[5]<<6)|(byte[4]<<2)|(byte[3]&0x03)

F3_3 

FC=byte[0],CH1=(byte[1]<<12)|(byte[2]<<8)|(byte[3]<<4)|byte[4],CH2=(byte[7]<<8)|(byte[6]<<4)|byte[5]

F3_4 

FC=byte[0],CH1=(byte[1]<<10)|(byte[2]<<6)|(byte[3]<<2)|(byte[4]>>2),CH2=(byte[7]<<10)|(byte[6]<<6)|(byte[5]<<2)|(byte[4]&0x03)

F3_5 

FC=byte[0],DCC=byte[1],CH1=(byte[2]<<8)|(byte[3]<<4)|byte[4],CH2=(byte[7]<<8)|(byte[6]<<4)|byte[5]

F4_1 

FC=byte[0]

F4_2 

FC=byte[0]

F4_3 

FC=byte[0]

F4_4 

FC=byte[0]

F4_5 

FC=byte[0]

F4_6 

FC=byte[0],DCC=byte[1]

F4_7 

FC=byte[0],DCC=byte[1]

F4_8 

FC=byte[0],DCC=byte[1]

F4_9 

FC=byte[0],DCC=byte[1]

函数说明

◆ SENT_Init()

int WINAPI SENT_Init ( int  DevHandle,
unsigned char  Channel,
SENT_CONFIG pConfig 
)

初始化配置SENT总线,必须调用,否则无法正常工作

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
[in]pConfig初始化结构体,可以参考 SENT初始化结构定义 查看参数详情
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_SetTickTime()

int WINAPI SENT_SetTickTime ( int  DevHandle,
unsigned char  Channel,
double  TickTimeUs 
)

配置SENT总线Tick时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
TickTimeUsTick时间,单位为us
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_SendMsg()

int WINAPI SENT_SendMsg ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg,
unsigned int  MsgNum 
)

主机模式下手动发送SENT消息

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
[in]pSentMsgSENT消息帧指针
MsgNum发送的SENT消息帧数,不能大于64帧
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_StartFastMsgTable()

int WINAPI SENT_StartFastMsgTable ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg,
unsigned int  MsgNum,
unsigned int  SendTimes 
)

设置并启动SENT快速通道帧发送列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
pSentMsgSENT快速通道消息帧指针
MsgNum发送的SENT消息帧数,不能大于64帧
SendTimes列表循环发送次数,若设置为0xFFFFFFFF则一直循环发送列表,直到调用 SENT_StopFastMsgTable 函数为止
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_UpdateFastMsgTable()

int WINAPI SENT_UpdateFastMsgTable ( int  DevHandle,
unsigned char  Channel,
unsigned char  StartMsgIndex,
SENT_MSG pSentMsg,
unsigned int  MsgNum 
)

更新SENT快速通道发送列表中的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
StartMsgIndex需要开始更新的起始帧索引,如果该索引大于原来列表大小,则将更新的帧添加到列表后面
pSentMsgSENT快速通道消息帧指针
MsgNum更新的SENT消息帧数,不能大于64帧
返回

◆ SENT_StopFastMsgTable()

int WINAPI SENT_StopFastMsgTable ( int  DevHandle,
unsigned char  Channel 
)

停止正在发送的SENT帧列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_StartSPCMsgTable()

int WINAPI SENT_StartSPCMsgTable ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg,
unsigned int  MsgNum,
unsigned int  SendTimes 
)

设置并启动SENT SPC帧发送列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
pSentMsgSENT快速通道消息帧指针
MsgNum发送的SENT消息帧数,不能大于64帧
SendTimes列表循环发送次数,若设置为0xFFFFFFFF则一直循环发送列表,直到调用 SENT_StopSPCMsgTable 函数为止
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_UpdateSPCMsgTable()

int WINAPI SENT_UpdateSPCMsgTable ( int  DevHandle,
unsigned char  Channel,
unsigned char  StartMsgIndex,
SENT_MSG pSentMsg,
unsigned int  MsgNum 
)

更新SENT SPC快速通道发送列表中的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
StartMsgIndex需要开始更新的起始帧索引,如果该索引大于原来列表大小,则将更新的帧添加到列表后面
pSentMsgSENT快速通道消息帧指针
MsgNum更新的SENT消息帧数,不能大于64帧
返回

◆ SENT_StopSPCMsgTable()

int WINAPI SENT_StopSPCMsgTable ( int  DevHandle,
unsigned char  Channel 
)

停止正在发送的SENT帧列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_StartSlowMsgTable()

int WINAPI SENT_StartSlowMsgTable ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg,
unsigned int  MsgNum,
unsigned int  SendTimes 
)

设置并启动SENT慢速通道帧发送列表,调用该函数后数据不会立即发送,它是在发送快速数据的时候才通过Status域发送,所以需要发送慢速通道帧数据,需要同时启动快速帧发送列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
pSentMsgSENT慢速通道消息帧指针
MsgNum发送的SENT消息帧数,不能大于64帧
SendTimes列表循环发送次数,若设置为0xFFFFFFFF则一直循环发送列表,直到调用 SENT_StopSlowMsgTable 函数为止
返回

◆ SENT_UpdateSlowMsgTable()

int WINAPI SENT_UpdateSlowMsgTable ( int  DevHandle,
unsigned char  Channel,
unsigned char  StartMsgIndex,
SENT_MSG pSentMsg,
unsigned int  MsgNum 
)

更新慢速通道发送列表中的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
StartMsgIndex需要开始更新的起始帧索引,如果该索引大于原来列表大小,则将更新的帧添加到列表后面
pSentMsgSENT慢速通道消息帧指针
MsgNum更新的SENT消息帧数,不能大于64帧
返回

◆ SENT_StopSlowMsgTable()

int WINAPI SENT_StopSlowMsgTable ( int  DevHandle,
unsigned char  Channel 
)

停止正在发送的SENT帧列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SENT_GetMsg()

int WINAPI SENT_GetMsg ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg 
)

主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
pSentMsg存储SENT帧缓冲区指针,该缓冲区不能小于64,否则可能会出现缓冲区溢出导致程序异常闪退
返回
成功获取到的SENT消息帧数
返回值
<0函数执行失败

◆ SENT_GetMsgWithSize()

int WINAPI SENT_GetMsgWithSize ( int  DevHandle,
unsigned char  Channel,
SENT_MSG pSentMsg,
unsigned int  BufSize 
)

主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4,SENT总线在硬件上是跟LIN总线共用的
pSentMsg存储SENT帧缓冲区指针
BufSize存储数据的缓存区大小
返回
成功获取到的SENT消息帧数
返回值
<0函数执行失败

◆ SENT_GetStartTime()

long long WINAPI SENT_GetStartTime ( int  DevHandle,
unsigned char  Channel 
)

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

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4
返回
SENT起始时间戳
返回值
<0函数调用失败

◆ SENT_ResetStartTime()

int WINAPI SENT_ResetStartTime ( int  DevHandle,
unsigned char  Channel 
)

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

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4
返回
函数执行状态
返回值
<0函数调用失败

◆ SENT_Stop()

int WINAPI SENT_Stop ( int  DevHandle,
unsigned char  Channel 
)

停止SENT总线功能

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSENT通道号,0-SENT1,1-SENT2,2-SENT3,3-SENT4
返回
函数执行状态
返回值
<0函数调用失败

◆ SENT_MsgDecode()

int WINAPI SENT_MsgDecode ( unsigned char  DataFormat,
SENT_MSG pSentMsg,
int  MsgNum,
unsigned int *  pDataCh1,
unsigned int *  pDataCh2 
)

将快速通道原始SENT数据解析成实际数据,注意只解析快速通道帧数据

参数
DataFormat数据格式定义,只支持H1到H7格式数据
pSentMsgSENT帧缓冲区首地址
MsgNum需要进行解析的帧数
pDataCh1解析出的快速通道1数据
pDataCh2解析出的快速通道2数据
返回
函数执行状态
返回值
>=0成功解析到的快速通道数据帧数
<0函数调用失败

◆ SENT_MsgDecodeEx()

int WINAPI SENT_MsgDecodeEx ( unsigned char  DataFormat,
SENT_MSG pSentMsg,
int  MsgNum,
unsigned int *  pDataCh1,
unsigned int *  pDataCh2,
unsigned char *  pFC,
unsigned char *  pDCC 
)

将快速通道原始SENT数据解析成实际数据,注意只解析快速通道帧数据

参数
DataFormat数据格式定义,支持所有格式数据
pSentMsgSENT帧缓冲区首地址
MsgNum需要进行解析的帧数
pDataCh1解析出的快速通道1数据
pDataCh2解析出的快速通道2数据
pFC数据格式为F1_1及以上时输出的对应FC(Frame Control)数据
pDCC数据格式为F1_1及以上时输出的对应DCC(Data Consistency Counter)数据
返回
函数执行状态
返回值
>=0成功解析到的快速通道数据帧数
<0函数调用失败