USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
can_uds.h
1
9#ifndef __CAN_UDS_H_
10#define __CAN_UDS_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 CAN_UDS_OK 0
33#define CAN_UDS_TRAN_USB -98
34#define CAN_UDS_TRAN_CAN -99
35#define CAN_UDS_TIMEOUT_A -100
36#define CAN_UDS_TIMEOUT_Bs -101
37#define CAN_UDS_TIMEOUT_Cr -102
38#define CAN_UDS_WRONG_SN -103
39#define CAN_UDS_INVALID_FS -104
40#define CAN_UDS_UNEXP_PDU -105
41#define CAN_UDS_WFT_OVRN -106
42#define CAN_UDS_BUFFER_OVFLW -107
43#define CAN_UDS_ERROR -108
51#define CAN_UDS_EXT 0x01
52#define CAN_UDS_FDF 0x02
53#define CAN_UDS_BRS 0x04
54#define CAN_UDS_ADLC 0x80
60typedef struct _CAN_UDS_ADDR
61{
62 unsigned int ReqID;
63 unsigned int ResID;
64 unsigned char Flag;
65 unsigned char AddrFormats;
66 unsigned char AddrExt;
67 unsigned char MaxDLC;
69
73typedef struct _CAN_UDS_CONFIG
74{
75 unsigned char STmin;
76 unsigned char BlockSize;
77 unsigned char FillByte;
78 unsigned char _Res0;
79 unsigned int N_Bs;
81
82#ifdef __cplusplus
83extern "C"
84{
85#endif
95int WINAPI CAN_UDS_Config(int DevHandle, unsigned char CANIndex, CAN_UDS_CONFIG *pUDSConfig);
96
108int WINAPI CAN_UDS_Request(int DevHandle,unsigned char CANIndex,CAN_UDS_ADDR *pUDSAddr,unsigned char *pReqData,int DataLen);
109
122int WINAPI CAN_UDS_Response(int DevHandle,unsigned char CANIndex,CAN_UDS_ADDR *pUDSAddr,unsigned char *pResData,int TimeOutMs);
123
124#ifdef __cplusplus
125}
126#endif
128#endif
129
struct _CAN_UDS_CONFIG CAN_UDS_CONFIG
CAN UDS初始化结构体
struct _CAN_UDS_ADDR CAN_UDS_ADDR
CAN UDS数据收发信息定义
int WINAPI CAN_UDS_Config(int DevHandle, unsigned char CANIndex, CAN_UDS_CONFIG *pUDSConfig)
配置CAN UDS相关参数,可以不调用
int WINAPI CAN_UDS_Response(int DevHandle, unsigned char CANIndex, CAN_UDS_ADDR *pUDSAddr, unsigned char *pResData, int TimeOutMs)
获取UDS响应数据,该函数一般是在调用 CAN_UDS_Request 函数之后调用
int WINAPI CAN_UDS_Request(int DevHandle, unsigned char CANIndex, CAN_UDS_ADDR *pUDSAddr, unsigned char *pReqData, int DataLen)
UDS发送请求数据,调用该函数之前要调用CAN初始化函数,否则无法正常的收发CAN数据
CAN UDS数据收发信息定义
Definition: can_uds.h:61
unsigned char MaxDLC
普通CAN设置为8,CANFD帧可以最大设置为64
Definition: can_uds.h:67
unsigned char AddrFormats
0-normal, 1-extended ,2-mixed
Definition: can_uds.h:65
unsigned char AddrExt
当AddrFormats不为normal时,该数据放到CAN数据域第1字节
Definition: can_uds.h:66
unsigned char Flag
bit[0]-帧类型(0-标准帧,1-扩展帧),bit[1]-FDF(0-普通CAN帧,1-CANFD帧),bit[2]-BRS(0-CANFD帧不加速,1-CANFD帧加速),...
Definition: can_uds.h:64
unsigned int ReqID
请求报文ID
Definition: can_uds.h:62
unsigned int ResID
应答报文ID
Definition: can_uds.h:63
CAN UDS初始化结构体
Definition: can_uds.h:74
unsigned char FillByte
发送数据时未用到的字节填充数据
Definition: can_uds.h:77
unsigned char BlockSize
收到流控帧后,连续发送帧的个数,如果设置为0则以流控帧返回的参数为准
Definition: can_uds.h:76
unsigned char _Res0
保留不用
Definition: can_uds.h:78
unsigned int N_Bs
发送首帧后,等待流控帧的最大超时参数,单位为毫秒,如果设置为0,则底层强制配置为1000
Definition: can_uds.h:79
unsigned char STmin
连续帧间隔时间,单位为ms,如果设置为0则根据对方返回的流控帧里面参数为准
Definition: can_uds.h:75