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

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

结构体

struct  _ELINS_MSG
 
struct  _ELINS_SCH_INFO
 

函数

int WINAPI ELINS_Init (int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable, unsigned char Ver)
 ELINS总线初始化,在使用ELINS相关函数之前必须先调用该函数 更多...
 
int WINAPI ELINS_SetRevTime (int DevHandle, unsigned char Index, int TimeUs)
 设置接收数据时等待对方响应数据超时时间 更多...
 
int WINAPI ELINS_MasterStartSch (int DevHandle, unsigned char Index, ELINS_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
 执行ELINS帧调度表,可以使用该函数实现发送数据或者读取数据 更多...
 
int WINAPI ELINS_GetMsg (int DevHandle, unsigned char Index, ELINS_MSG *pMsg, unsigned int BufferSize)
 获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据 更多...
 
int WINAPI ELINS_MasterStopSch (int DevHandle, unsigned char Index)
 停止执行调度表 更多...
 
int WINAPI ELINS_Stop (int DevHandle, unsigned char Index)
 停止ELINS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 ELINS_Init 函数对总线进行初始化 更多...
 
long long WINAPI ELINS_GetStartTime (int DevHandle, unsigned char Index)
 获取启动ELINS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间 更多...
 
int WINAPI ELINS_GetSchInfo (int DevHandle, unsigned char Index, ELINS_SCH_INFO *pSchInfo)
 获取当前调度表执行信息,可以通过调用该函数获取帧发送情况 更多...
 

ELINS帧结构体

ELINS帧类型定义

typedef struct _ELINS_MSG ELINS_MSG
 

ELINS调度表信息

ELINS调度表信息定义

typedef struct _ELINS_SCH_INFO ELINS_SCH_INFO
 

函数返回错误值宏定义

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

#define ELINS_SUCCESS   (0)
 函数执行成功
 
#define ELINS_ERR_NOT_SUPPORT   (-1)
 适配器不支持该函数
 
#define ELINS_ERR_USB_WRITE_FAIL   (-2)
 USB写数据失败
 
#define ELINS_ERR_USB_READ_FAIL   (-3)
 USB读数据失败
 
#define ELINS_ERR_CMD_FAIL   (-4)
 命令执行失败
 
#define ELINS_ERR_PARAMETER   (-5)
 参数错误
 

命令定义

命令值宏定义

#define ELINS_CMD_SDW   0x02
 Single Device Write
 
#define ELINS_CMD_SDR   0x03
 Single Device Read
 
#define ELINS_CMD_BW   0x04
 Broadcast Write
 
#define ELINS_CMD_EBW   0x05
 Enhance Broadcast Write
 
#define ELINS_CMD_ESDW   0x06
 Enhance Single Device Write
 
#define ELINS_CMD_ESDR   0x07
 Enhance Single Device Read
 

帧状态定义

帧状态定义,一个位定义一个状态

#define ELINS_STATUS_NACK   0x01
 写无应答(非广播帧)
 
#define ELINS_STATUS_RNRES   0x02
 读数据无应答
 
#define ELINS_STATUS_ECRC   0x04
 CRC校验错误
 
#define ELINS_STATUS_FERR   0x08
 帧异常,实际字节数跟规定的不匹配
 
#define ELINS_STATUS_DLEN   0x10
 实际数据字节数跟帧头字节数不匹配
 
#define ELINS_STATUS_ECMD   0x20
 CMD的P0或者P1错误
 

详细描述

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

函数说明

◆ ELINS_Init()

int WINAPI ELINS_Init ( int  DevHandle,
unsigned char  Index,
unsigned int  BaudRate,
unsigned char  MasterMode,
unsigned char  ResEnable,
unsigned char  Ver 
)

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

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
BaudRateELINS总线波特率值,单位为bps,最小值为2000,最大值为5000000
MasterModeELINS工作模式,0-从机,1-主机
ResEnable终端电阻配置,0-禁止,1-使能
VerELINS版本号,0-支持iND83080/081,1-支持iND83220,2-支持iND83010
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_SetRevTime()

int WINAPI ELINS_SetRevTime ( int  DevHandle,
unsigned char  Index,
int  TimeUs 
)

设置接收数据时等待对方响应数据超时时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
TimeUs等待对方响应数据超时时间,单位为us,最大值为65536微秒
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_MasterStartSch()

int WINAPI ELINS_MasterStartSch ( int  DevHandle,
unsigned char  Index,
ELINS_MSG pMsg,
unsigned int  MsgLen,
unsigned int  SendTimes,
unsigned char  ReadBackFlag 
)

执行ELINS帧调度表,可以使用该函数实现发送数据或者读取数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
pMsg待发送的调度表帧数组
MsgLen待发送的调度表帧数
SendTimes调度表里面的帧数据循环发送次数,若设置为0xFFFFFFFF则会循环执行,直到调用 ELINS_MasterStopSch 函数为止
ReadBackFlag回读调度表执行帧标志,0-不回读,1-底层会存储调度表发送的帧到数据缓冲区,通过调用 ELINS_GetMsg 函数可以获取到调度表发送的帧数据
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_GetMsg()

int WINAPI ELINS_GetMsg ( int  DevHandle,
unsigned char  Index,
ELINS_MSG pMsg,
unsigned int  BufferSize 
)

获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
pMsg存储帧数据的帧数组
BufferSize帧数组大小
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_MasterStopSch()

int WINAPI ELINS_MasterStopSch ( int  DevHandle,
unsigned char  Index 
)

停止执行调度表

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_Stop()

int WINAPI ELINS_Stop ( int  DevHandle,
unsigned char  Index 
)

停止ELINS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 ELINS_Init 函数对总线进行初始化

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
返回
函数执行状态
返回值
0函数调用成功
<0函数调用失败

◆ ELINS_GetStartTime()

long long WINAPI ELINS_GetStartTime ( int  DevHandle,
unsigned char  Index 
)

获取启动ELINS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
返回
获取到的时间戳

◆ ELINS_GetSchInfo()

int WINAPI ELINS_GetSchInfo ( int  DevHandle,
unsigned char  Index,
ELINS_SCH_INFO pSchInfo 
)

获取当前调度表执行信息,可以通过调用该函数获取帧发送情况

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
IndexELINS通道号,0-CAN1,1-CAN2
pSchRunFlag调度表运行状态存储指针
pSchSendTimes调度表发送次数存储指针
pAllMsgNum调度表里面总帧数指针
pCurrentMsgIndex调度表当前正在发送的帧索引号指针
返回
获取到的时间戳