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

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

结构体

struct  _SIF_CONFIG
 
struct  _SIF_MSG
 

函数

int WINAPI SIF_Init (int DevHandle, unsigned char Channel, SIF_CONFIG *pConfig)
 初始化配置SIF总线,必须调用,否则无法正常工作 更多...
 
int WINAPI SIF_SendMsg (int DevHandle, unsigned char Channel, SIF_MSG *pSIFMsg, unsigned int MsgNum)
 主机模式下手动发送SIF消息 更多...
 
int WINAPI SIF_StartMsgTable (int DevHandle, unsigned char Channel, SIF_MSG *pSIFMsg, unsigned int MsgNum, unsigned int SendTimes)
 设置并启动SIF帧发送列表 更多...
 
int WINAPI SIF_UpdateMsgTable (int DevHandle, unsigned char Channel, unsigned char StartMsgIndex, SIF_MSG *pSIFMsg, unsigned int MsgNum)
 更新SIF发送列表中的帧 更多...
 
int WINAPI SIF_StopMsgTable (int DevHandle, unsigned char Channel)
 停止正在发送的SIF帧列表 更多...
 
int WINAPI SIF_GetMsg (int DevHandle, unsigned char Channel, SIF_MSG *pSIFMsg)
 主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧 更多...
 
int WINAPI SIF_GetMsgWithSize (int DevHandle, unsigned char Channel, SIF_MSG *pSIFMsg, unsigned int BufSize)
 主机模式获取已发成功发送出去的帧,从机模式获取监控到的帧 更多...
 
long long WINAPI SIF_GetStartTime (int DevHandle, unsigned char Channel)
 获取SIF起始时间戳,该时间戳可以转换成实际的时间 更多...
 
int WINAPI SIF_ResetStartTime (int DevHandle, unsigned char Channel)
 复位时间戳,复位后起始时间戳为当前时间 更多...
 
int WINAPI SIF_Stop (int DevHandle, unsigned char Channel)
 停止SIF总线功能 更多...
 

SIF初始化结构体

SIF初始化结构定义

typedef struct _SIF_CONFIG SIF_CONFIG
 

SIF帧结构体

SIF帧结构体定义

typedef struct _SIF_MSG SIF_MSG
 

函数返回错误值宏定义

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

#define SIF_SUCCESS   (0)
 函数执行成功
 
#define SIF_ERR_NOT_SUPPORT   (-1)
 适配器不支持该函数
 
#define SIF_ERR_USB_WRITE_FAIL   (-2)
 USB写数据失败
 
#define SIF_ERR_USB_READ_FAIL   (-3)
 USB读数据失败
 
#define SIF_ERR_CMD_FAIL   (-4)
 命令执行失败
 
#define SIF_ERR_PARAMETER   (-5)
 函数参数传入有误
 
#define SIF_ERR_MSG_TYPE   (-6)
 当前函数不支持该消息类型
 

SIF主从模式

SIF主从模式宏定义

#define SIF_MASTER   0x01
 主机模式,用于模拟主节点发送数据
 
#define SIF_SLAVE   0x00
 从机模式,用于监控SIF主机发送出来的数据
 
#define SIF_TX   0x80
 发送帧标志
 

SIF帧标志定义

SIF帧标志宏定义

#define SIF_FLAGS_TX   0x80
 
#define SIF_FLAGS_CRC_ERR   0x04
 

SIF总线空闲电平

SIF空闲模式下总线电平

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

详细描述

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

函数说明

◆ SIF_Init()

int WINAPI SIF_Init ( int  DevHandle,
unsigned char  Channel,
SIF_CONFIG pConfig 
)

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

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

◆ SIF_SendMsg()

int WINAPI SIF_SendMsg ( int  DevHandle,
unsigned char  Channel,
SIF_MSG pSIFMsg,
unsigned int  MsgNum 
)

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

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

◆ SIF_StartMsgTable()

int WINAPI SIF_StartMsgTable ( int  DevHandle,
unsigned char  Channel,
SIF_MSG pSIFMsg,
unsigned int  MsgNum,
unsigned int  SendTimes 
)

设置并启动SIF帧发送列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSIF通道号,0-SIF1,1-SIF2,2-SIF3,3-SIF4,SIF总线在硬件上是跟LIN总线共用的
pSIFMsgSIF消息帧指针
MsgNum发送的SIF消息帧数,不能大于32帧
SendTimes列表循环发送次数,若设置为0xFFFFFFFF则一直循环发送列表,直到调用 SIF_StopMsgTable 函数为止
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SIF_UpdateMsgTable()

int WINAPI SIF_UpdateMsgTable ( int  DevHandle,
unsigned char  Channel,
unsigned char  StartMsgIndex,
SIF_MSG pSIFMsg,
unsigned int  MsgNum 
)

更新SIF发送列表中的帧

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

◆ SIF_StopMsgTable()

int WINAPI SIF_StopMsgTable ( int  DevHandle,
unsigned char  Channel 
)

停止正在发送的SIF帧列表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSIF通道号,0-SIF1,1-SIF2,2-SIF3,3-SIF4,SIF总线在硬件上是跟LIN总线共用的
返回
函数执行状态
返回值
=0函数执行成功
!=0函数执行失败

◆ SIF_GetMsg()

int WINAPI SIF_GetMsg ( int  DevHandle,
unsigned char  Channel,
SIF_MSG pSIFMsg 
)

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

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

◆ SIF_GetMsgWithSize()

int WINAPI SIF_GetMsgWithSize ( int  DevHandle,
unsigned char  Channel,
SIF_MSG pSIFMsg,
unsigned int  BufSize 
)

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

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

◆ SIF_GetStartTime()

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

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

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSIF通道号,0-SIF1,1-SIF2,2-SIF3,3-SIF4
返回
SIF起始时间戳
返回值
<0函数调用失败

◆ SIF_ResetStartTime()

int WINAPI SIF_ResetStartTime ( int  DevHandle,
unsigned char  Channel 
)

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

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSIF通道号,0-SIF1,1-SIF2,2-SIF3,3-SIF4
返回
函数执行状态
返回值
<0函数调用失败

◆ SIF_Stop()

int WINAPI SIF_Stop ( int  DevHandle,
unsigned char  Channel 
)

停止SIF总线功能

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
ChannelSIF通道号,0-SIF1,1-SIF2,2-SIF3,3-SIF4
返回
函数执行状态
返回值
<0函数调用失败