USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
usb2tcan.h
1
9#ifndef __USB2TCAN_H_
10#define __USB2TCAN_H_
11
12#include <stdint.h>
13#include "usb2ucan.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 ResEnable;
35 unsigned char MasterMode;
36 unsigned char BreakBits;
37 unsigned char VbatOut;
39
43typedef struct {
44 unsigned int Timestamp;
45 unsigned char TimestampHigh;
46 unsigned char BreakBits;
47 unsigned char RWn;
48 unsigned char DLT;
49 unsigned char DLEN;
50 unsigned char DLC;
51 unsigned char ADDR;
52 unsigned char CMD;
53 unsigned char Data[96];
54 unsigned short CRC;
55 unsigned char ACK;
56 unsigned char Flags;
57 unsigned char ErrorFlags;
59
65#define TCAN_FLAG_ACK 0x04
73#define TCAN_EFLAG_DATA_ERR 0x01
74#define TCAN_EFLAG_PIDH_CKE 0x02
75#define TCAN_EFLAG_PIDL_CKE 0x04
76#define TCAN_EFLAG_CMD_CKE 0x08
77#define TCAN_EFLAG_DATA_CKE 0x10
85#define TCAN_SUCCESS (0)
86#define TCAN_ERR_NOT_SUPPORT (-1)
87#define TCAN_ERR_USB_WRITE_FAIL (-2)
88#define TCAN_ERR_USB_READ_FAIL (-3)
89#define TCAN_ERR_CMD_FAIL (-4)
90#define TCAN_ERR_PARAMETER (-5)
93#ifdef __cplusplus
94extern "C"
95{
96#endif
97
107int WINAPI TCAN_Init(int DevHandle, unsigned char TCANIndex, TCAN_CONFIG* pConfig);
108
121int WINAPI TCAN_MasterStartSch(int DevHandle, unsigned char TCANIndex, TCAN_MSG* pTCANMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag);
122
131int WINAPI TCAN_MasterStopSch(int DevHandle, unsigned char TCANIndex);
132
133
142int WINAPI TCAN_Stop(int DevHandle, unsigned char TCANIndex);
143
154int WINAPI TCAN_GetMsg(int DevHandle, unsigned char TCANIndex, TCAN_MSG* pTCANMsg, int BufferSize);
155
164void WINAPI TCAN_MsgConvert(TCAN_MSG* pTCANMsg, UCAN_RAW_MSG* pUCANMsg, int MsgNum, uint8_t UCAN2TCAN);
165
173long long WINAPI TCAN_GetStartTime(int DevHandle, unsigned char TCANIndex);
174
182int WINAPI TCAN_ResetStartTime(int DevHandle, unsigned char TCANIndex);
183
192int WINAPI TCAN_SetStartTime(int DevHandle, unsigned char TCANIndex, long long StartTimeMs);
193
194
195#ifdef __cplusplus
196}
197#endif
198
200#endif
int WINAPI TCAN_SetStartTime(int DevHandle, unsigned char TCANIndex, long long StartTimeMs)
设置数据起始时间戳,主要用于将数据时间戳转换成实时时间用
int WINAPI TCAN_MasterStartSch(int DevHandle, unsigned char TCANIndex, TCAN_MSG *pTCANMsg, unsigned int MsgLen, unsigned int SendTimes, unsigned char ReadBackFlag)
执行TCAN帧调度表,可以使用该函数实现发送数据或者读取数据
int WINAPI TCAN_Stop(int DevHandle, unsigned char TCANIndex)
停止TCAN总线,调用该函数后盖总线无法继续使用,需要继续使用需要重新调用 TCAN_Init 函数对总线进行初始化
long long WINAPI TCAN_GetStartTime(int DevHandle, unsigned char TCANIndex)
获取CAN起始时间戳,该时间戳可以转换成实际的时间
int WINAPI TCAN_Init(int DevHandle, unsigned char TCANIndex, TCAN_CONFIG *pConfig)
初始化TCAN总线,使用TCAN功能时必须调用
int WINAPI TCAN_ResetStartTime(int DevHandle, unsigned char TCANIndex)
复位时间戳,复位后起始时间戳为当前时间
int WINAPI TCAN_GetMsg(int DevHandle, unsigned char TCANIndex, TCAN_MSG *pTCANMsg, int BufferSize)
获取TCAN原始数据
void WINAPI TCAN_MsgConvert(TCAN_MSG *pTCANMsg, UCAN_RAW_MSG *pUCANMsg, int MsgNum, uint8_t UCAN2TCAN)
实现TCAN_MSG和UCAN_RAW_MSG消息互转
int WINAPI TCAN_MasterStopSch(int DevHandle, unsigned char TCANIndex)
停止执行调度表
TCAN初始化结构体定义
Definition: usb2tcan.h:31
unsigned char MasterMode
0-从机模式,用于监控数据,1-主机模式,可以发送数据
Definition: usb2tcan.h:35
unsigned char ResEnable
0-禁止终端电阻,1-使能终端电阻
Definition: usb2tcan.h:34
unsigned char VbatOut
控制VBAT输出电压,0-不输出,1-输出12V,2-输出5V
Definition: usb2tcan.h:37
unsigned int RxTimeOutUs
接收数据超时时间,单位为微秒
Definition: usb2tcan.h:33
unsigned char BreakBits
发送同步间隔长度
Definition: usb2tcan.h:36
unsigned int BaudRate
波特率,单位为bps
Definition: usb2tcan.h:32
适用于Tinychip芯片的TCAN帧结构体定义
Definition: usb2tcan.h:43
unsigned char Flags
帧标志位,bit[1..0]-通道号,bit[2]-包含了应答的标志
Definition: usb2tcan.h:56
unsigned char DLC
Data里面包含的有效数据字节数
Definition: usb2tcan.h:50
unsigned short CRC
数据CRC
Definition: usb2tcan.h:54
unsigned char ACK
发送数据后的响应字节
Definition: usb2tcan.h:55
unsigned char ErrorFlags
bit[0]-数据内容错误,bit[1]-PIDH数据校验错误,bit[2]-PIDL数据校验错误,bit[3]-CMD数据校验错误,bit[4]-数据校验错误
Definition: usb2tcan.h:57
unsigned char TimestampHigh
时间戳高位,发送数据时为当前帧发送次数
Definition: usb2tcan.h:45
unsigned int Timestamp
接收到信息帧时的时间标识,从TCAN控制器初始化开始计时。单位为us
Definition: usb2tcan.h:44
unsigned char DLEN
需要读写的数据字节数,根据DLT的值不同,实际代表的有效字节数有所不同
Definition: usb2tcan.h:49
unsigned char BreakBits
发送数据时break长度
Definition: usb2tcan.h:46
unsigned char DLT
数据长度类型,0-实际数据长度等于DLEN,1-实际数据长度等于(DLEN+1)*6字节
Definition: usb2tcan.h:48
unsigned char RWn
读写数据标志,0-写数据,1-读数据
Definition: usb2tcan.h:47
unsigned char ADDR
0~62-设备地址,63-广播地址
Definition: usb2tcan.h:51
unsigned char CMD
命令
Definition: usb2tcan.h:52
通用的UCAN数据结构体定义
Definition: usb2ucan.h:70