USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb2ucan.h
1
9#ifndef __USB2UCAN_H_
10#define __USB2UCAN_H_
11
12#include <stdint.h>
13#include "offline_type.h"
14#ifdef _WIN32
15#include <Windows.h>
16#else
17#include <unistd.h>
18#ifndef WINAPI
19#define WINAPI
20#endif
21#endif
31typedef struct {
32 unsigned int BaudRate;
33 unsigned int RxTimeOutUs;
34 unsigned char WordLength;
35 unsigned char StopBits;
36 unsigned char Parity;
37 unsigned char MsbFirst;
38 unsigned char ResEnable;
39 unsigned char MasterMode;
40 unsigned char BreakBits;
41 unsigned char VbatOut;
42 unsigned char BusProtocol;
44
48typedef struct {
49 unsigned int Timestamp;
50 unsigned char TimestampHigh;
51 unsigned char HeadType;
52 unsigned short MsgSendTimes;
53 unsigned char BreakBits;
54 unsigned char DataLen;
55 unsigned char Sync;
56 unsigned char MemAddr;
57 unsigned char DevAddr;
58 unsigned char LiveCount;
59 unsigned char HeadCrc;
60 unsigned char HeadAck;
61 unsigned char Data[20];
62 unsigned char DataCrc;
63 unsigned char DataAck;
64 unsigned char Flags;
65 unsigned char _Res1;
67
71typedef struct {
72 unsigned int Timestamp;
73 unsigned char TimestampHigh;
74 unsigned char HaveBreak;
75 unsigned char DataLen;
76 unsigned char Flags;
77 unsigned char Data[64];
79
85#define UCAN_SUCCESS (0)
86#define UCAN_ERR_NOT_SUPPORT (-1)
87#define UCAN_ERR_USB_WRITE_FAIL (-2)
88#define UCAN_ERR_USB_READ_FAIL (-3)
89#define UCAN_ERR_CMD_FAIL (-4)
90#define UCAN_ERR_PARAMETER (-5)
93#ifdef __cplusplus
94extern "C"
95{
96#endif
97
107int WINAPI UCAN_Init(int DevHandle, unsigned char UCANIndex, UCAN_CONFIG* pConfig);
108
121int WINAPI UCAN_MasterStartSch(int DevHandle, unsigned char UCANIndex, UCAN_MSG* pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag);
122
131int WINAPI UCAN_MasterStopSch(int DevHandle, unsigned char UCANIndex);
132
141int WINAPI UCAN_Stop(int DevHandle, unsigned char UCANIndex);
142
153int WINAPI UCAN_GetRawMsg(int DevHandle, unsigned char UCANIndex, UCAN_RAW_MSG* pUCANRawMsg,int BufferSize);
154
162long long WINAPI UCAN_GetStartTime(int DevHandle, unsigned char UCANIndex);
163
171int WINAPI UCAN_ResetStartTime(int DevHandle, unsigned char UCANIndex);
172
181int WINAPI UCAN_SetStartTime(int DevHandle, unsigned char UCANIndex, long long StartTimeMs);
182
183
184#ifdef __cplusplus
185}
186#endif
187
189#endif
long long WINAPI UCAN_GetStartTime(int DevHandle, unsigned char UCANIndex)
获取CAN起始时间戳,该时间戳可以转换成实际的时间
int WINAPI UCAN_SetStartTime(int DevHandle, unsigned char UCANIndex, long long StartTimeMs)
设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用
int WINAPI UCAN_Stop(int DevHandle, unsigned char UCANIndex)
停止UCAN总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 UCAN_Init 函数对总线进行初始化
int WINAPI UCAN_GetRawMsg(int DevHandle, unsigned char UCANIndex, UCAN_RAW_MSG *pUCANRawMsg, int BufferSize)
获取UCAN原始数据
int WINAPI UCAN_Init(int DevHandle, unsigned char UCANIndex, UCAN_CONFIG *pConfig)
初始化UCAN总线,使用UCAN功能时必须调用
int WINAPI UCAN_MasterStopSch(int DevHandle, unsigned char UCANIndex)
停止执行调度表
int WINAPI UCAN_ResetStartTime(int DevHandle, unsigned char UCANIndex)
复位时间戳,复位后起始时间戳为当前时间
int WINAPI UCAN_MasterStartSch(int DevHandle, unsigned char UCANIndex, UCAN_MSG *pMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
执行UCAN帧调度表,可以使用该函数实现发送数据或者读取数据
UCAN初始化结构体定义
Definition: usb2ucan.h:31
unsigned char MasterMode
0-从机模式,用于监控数据,1-主机模式,可以发送数据
Definition: usb2ucan.h:39
unsigned char StopBits
停止位宽,0-1bit,1-0.5bit,2-2bit,3-1.5bit
Definition: usb2ucan.h:35
unsigned char ResEnable
0-禁止终端电阻,1-使能终端电阻
Definition: usb2ucan.h:38
unsigned char VbatOut
控制VBAT输出电压,0-不输出,1-输出12V,2-输出5V
Definition: usb2ucan.h:41
unsigned char BusProtocol
总线类型,0-自定义协议,1-ELMOS公司协议
Definition: usb2ucan.h:42
unsigned char Parity
奇偶校验,0-无,1-偶校验,2-奇校验
Definition: usb2ucan.h:36
unsigned char MsbFirst
0-低位优先,1-高位优先
Definition: usb2ucan.h:37
unsigned int RxTimeOutUs
接收数据超时时间,单位为微秒
Definition: usb2ucan.h:33
unsigned char WordLength
数据位宽,0-8bit,1-9bit,2-7bit
Definition: usb2ucan.h:34
unsigned char BreakBits
发送同步间隔长度
Definition: usb2ucan.h:40
unsigned int BaudRate
波特率,单位为bps
Definition: usb2ucan.h:32
适用于ELMOS芯片的UCAN帧结构体定义
Definition: usb2ucan.h:48
unsigned char Flags
帧标志位,bit[1..0]-通道号,bit[2]-帧头应答标志,bit[3]-数据应答标志,bit[4]-帧头校验错误,bit[5]-数据校验错误
Definition: usb2ucan.h:64
unsigned short MsgSendTimes
当前帧发送次数
Definition: usb2ucan.h:52
unsigned char DevAddr
device address
Definition: usb2ucan.h:57
unsigned char HeadAck
发送头后的响应字节
Definition: usb2ucan.h:60
unsigned char TimestampHigh
时间戳高位
Definition: usb2ucan.h:50
unsigned int Timestamp
接收到信息帧时的时间标识,从UCAN控制器初始化开始计时。单位为us
Definition: usb2ucan.h:49
unsigned char MemAddr
memory address
Definition: usb2ucan.h:56
unsigned char DataAck
发送数据后的响应字节
Definition: usb2ucan.h:63
unsigned char BreakBits
发送数据时break长度
Definition: usb2ucan.h:53
unsigned char DataLen
Data里面包含的有效数据字节数
Definition: usb2ucan.h:54
unsigned char HeadCrc
帧头CRC
Definition: usb2ucan.h:59
unsigned char LiveCount
4字节头才会用到
Definition: usb2ucan.h:58
unsigned char DataCrc
数据CRC
Definition: usb2ucan.h:62
unsigned char Sync
一般固定为0x55
Definition: usb2ucan.h:55
unsigned char HeadType
帧头类型,0-HD4读数据,1-HD4写数据,2-HD3读数据,3-HD3写数据
Definition: usb2ucan.h:51
unsigned char _Res1
保留字节
Definition: usb2ucan.h:65
通用的UCAN数据结构体定义
Definition: usb2ucan.h:71
unsigned char Flags
帧标志位,bit[1..0]-通道号
Definition: usb2ucan.h:76
unsigned char HaveBreak
当前帧是否包含了BREAK
Definition: usb2ucan.h:74
unsigned char TimestampHigh
时间戳高位
Definition: usb2ucan.h:73
unsigned int Timestamp
接收到信息帧时的时间标识,从UCAN控制器初始化开始计时。单位为us
Definition: usb2ucan.h:72
unsigned char DataLen
Data里面包含的有效字节数
Definition: usb2ucan.h:75