USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb2elins.h
1
9#ifndef __USB2ELINS_H_
10#define __USB2ELINS_H_
11
12#include <stdint.h>
13#ifdef _WIN32
14#include <Windows.h>
15#else
16#include <unistd.h>
17#ifndef WINAPI
18#define WINAPI
19#endif
20#endif
32#define ELINS_SUCCESS (0)
33#define ELINS_ERR_NOT_SUPPORT (-1)
34#define ELINS_ERR_USB_WRITE_FAIL (-2)
35#define ELINS_ERR_USB_READ_FAIL (-3)
36#define ELINS_ERR_CMD_FAIL (-4)
37#define ELINS_ERR_PARAMETER (-5)
45#define ELINS_CMD_SDW 0x02
46#define ELINS_CMD_SDR 0x03
47#define ELINS_CMD_BW 0x04
48#define ELINS_CMD_EBW 0x05
49#define ELINS_CMD_ESDW 0x06
50#define ELINS_CMD_ESDR 0x07
58#define ELINS_STATUS_NACK 0x01
59#define ELINS_STATUS_RNRES 0x02
60#define ELINS_STATUS_ECRC 0x04
61#define ELINS_STATUS_FERR 0x08
62#define ELINS_STATUS_DLEN 0x10
63#define ELINS_STATUS_ECMD 0x20
70typedef struct _ELINS_MSG
71{
72 unsigned char DataLen;
73 unsigned char BreakBits;
74 unsigned char Status;
75 unsigned char Flags;
76 unsigned char SYNC;
77 unsigned char TimeStampHigh;
78 unsigned short MsgSendTimes;
79 unsigned int TimeStamp;
80 unsigned char CmdCode;
81 unsigned char DevID;
82 unsigned short RegAddr;
83 unsigned short Crc16;
84 unsigned char Data[64];
85 unsigned char ACKValue[4];
86 unsigned char _Res[2];
94typedef struct _ELINS_SCH_INFO {
95 unsigned int SchSendTimes;
96 unsigned int SchSendIndex;
97 unsigned int MsgSendIndex;
98 unsigned int AllMsgLen;
99 unsigned short MsgIndex;
100 unsigned char RunFlag;
101 unsigned char SaveTxMsg;
105#ifdef __cplusplus
106extern "C"
107{
108#endif
109
122int WINAPI ELINS_Init(int DevHandle, unsigned char Index, unsigned int BaudRate, unsigned char MasterMode, unsigned char ResEnable, unsigned char Ver);
123
133int WINAPI ELINS_SetRevTime(int DevHandle, unsigned char Index,int TimeUs);
134
147int WINAPI ELINS_MasterStartSch(int DevHandle, unsigned char Index, ELINS_MSG* pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag);
148
159int WINAPI ELINS_GetMsg(int DevHandle, unsigned char Index, ELINS_MSG* pMsg, unsigned int BufferSize);
160
169int WINAPI ELINS_MasterStopSch(int DevHandle, unsigned char Index);
170
179int WINAPI ELINS_Stop(int DevHandle, unsigned char Index);
180
187long long WINAPI ELINS_GetStartTime(int DevHandle, unsigned char Index);
188
199int WINAPI ELINS_GetSchInfo(int DevHandle, unsigned char Index, ELINS_SCH_INFO *pSchInfo);
200
201#ifdef __cplusplus
202}
203#endif
204
206#endif
207
208
int WINAPI ELINS_GetSchInfo(int DevHandle, unsigned char Index, ELINS_SCH_INFO *pSchInfo)
获取当前调度表执行信息,可以通过调用该函数获取帧发送情况
int WINAPI ELINS_GetMsg(int DevHandle, unsigned char Index, ELINS_MSG *pMsg, unsigned int BufferSize)
获取帧缓冲区中的帧数据,这些帧可能是主机模式发送的数据,也可能是从机模式接收到的数据
int WINAPI ELINS_MasterStartSch(int DevHandle, unsigned char Index, ELINS_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
执行ELINS帧调度表,可以使用该函数实现发送数据或者读取数据
long long WINAPI ELINS_GetStartTime(int DevHandle, unsigned char Index)
获取启动ELINS总线时的实时时间戳,单位为毫秒,可以将该时间戳转换为实时时间
int WINAPI ELINS_Stop(int DevHandle, unsigned char Index)
停止ELINS总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 ELINS_Init 函数对总线进行初始化
int WINAPI ELINS_MasterStopSch(int DevHandle, unsigned char Index)
停止执行调度表
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)
设置接收数据时等待对方响应数据超时时间
Definition: usb2elins.h:71
unsigned char Flags
bit[0..1]表示通道号
Definition: usb2elins.h:75
unsigned short Crc16
CRC校验数据,发送时不用填,底层会自动计算,读取时为读到的实际校验数据
Definition: usb2elins.h:83
unsigned char CmdCode
命令
Definition: usb2elins.h:80
unsigned short MsgSendTimes
当前帧发送次数
Definition: usb2elins.h:78
unsigned char ACKValue[4]
发送需要应答的帧时存储应答数据
Definition: usb2elins.h:85
unsigned char TimeStampHigh
时间戳高位
Definition: usb2elins.h:77
unsigned char SYNC
固定为0x55
Definition: usb2elins.h:76
unsigned char Status
当前帧状态指示,比如帧数据异常可以在这里显示
Definition: usb2elins.h:74
unsigned short RegAddr
寄存器地址
Definition: usb2elins.h:82
unsigned int TimeStamp
接收帧时为时间戳低位,单位为10us,发送数据时为帧间隔时间,单位为微秒(us)
Definition: usb2elins.h:79
unsigned char BreakBits
发送同步间隔宽度,一般为13
Definition: usb2elins.h:73
unsigned char DevID
设备ID
Definition: usb2elins.h:81
unsigned char DataLen
Data域中有效数据字节数
Definition: usb2elins.h:72
unsigned char Data[64]
数据存储数组,数组里面的有效数据通过DataLen决定
Definition: usb2elins.h:84
Definition: usb2elins.h:94
unsigned char RunFlag
调度表运行标志
Definition: usb2elins.h:100
unsigned int SchSendIndex
当前调度表发送次数
Definition: usb2elins.h:96
unsigned int AllMsgLen
调度表里面包含帧数
Definition: usb2elins.h:98
unsigned short MsgIndex
当前发送帧在调度表里面的索引
Definition: usb2elins.h:99
unsigned int SchSendTimes
调度表发送次数,若为0xFFFFFFFF,表示一直循环发送
Definition: usb2elins.h:95
unsigned int MsgSendIndex
当前帧发送次数索引
Definition: usb2elins.h:97