USB2XXX 1.2
USB2XXX接口函数说明文档
载入中...
搜索中...
未找到
结构体 | 类型定义 | 函数
CAN_UDS

CAN UDS协议接口函数和相关数据结构定义 更多...

结构体

struct  _CAN_UDS_ADDR
 CAN UDS数据收发信息定义 更多...
 

类型定义

typedef struct _CAN_UDS_ADDR CAN_UDS_ADDR
 CAN UDS数据收发信息定义
 

函数

int WINAPI CAN_UDS_Request (int DevHandle, unsigned char CANIndex, CAN_UDS_ADDR *pUDSAddr, unsigned char *pReqData, int DataLen)
 UDS发送请求数据,调用该函数之前要调用CAN初始化函数,否则无法正常的收发CAN数据 更多...
 
int WINAPI CAN_UDS_Response (int DevHandle, unsigned char CANIndex, CAN_UDS_ADDR *pUDSAddr, unsigned char *pResData, int TimeOutMs)
 获取UDS响应数据,该函数一般是在调用 CAN_UDS_Request 函数之后调用 更多...
 

函数返回错误值宏定义

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

#define CAN_UDS_OK   0
 函数执行成功
 
#define CAN_UDS_TRAN_USB   -98
 USB数据传输出错
 
#define CAN_UDS_TRAN_CAN   -99
 CAN数据传输失败
 
#define CAN_UDS_TIMEOUT_A   -100
 超时错误
 
#define CAN_UDS_TIMEOUT_Bs   -101
 超时错误
 
#define CAN_UDS_TIMEOUT_Cr   -102
 超时错误
 
#define CAN_UDS_WRONG_SN   -103
 检测到数据不符合UDS协议
 
#define CAN_UDS_INVALID_FS   -104
 检测到数据不符合UDS协议
 
#define CAN_UDS_UNEXP_PDU   -105
 检测到数据不符合UDS协议
 
#define CAN_UDS_WFT_OVRN   -106
 检测到数据不符合UDS协议
 
#define CAN_UDS_BUFFER_OVFLW   -107
 缓冲区溢出
 
#define CAN_UDS_ERROR   -108
 其他错误
 

UDS标志定义

UDS收发帧类型标志宏定义

#define CAN_UDS_EXT   0x01
 帧类型为扩展帧
 
#define CAN_UDS_FDF   0x02
 使用CANFD帧发送数据
 
#define CAN_UDS_BRS   0x04
 使用CANFD加速帧发送数据
 
#define CAN_UDS_ADLC   0x80
 根据发送数据长度自适应DLC长度,仅用于CANFD帧或者CANFD加速帧
 

详细描述

CAN 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数据

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
CANIndexCAN通道号,0-CAN1,1-CAN2
[in]pUDSAddrUDS数据收发控制信息结构体指针,详细可以参考 CAN_UDS_ADDR
[in]pReqData发送的请求数据指针,包含服务SID,子服务ID,参数
DataLen请求的数据有效字节数
返回
函数执行状态
返回值
=0函数执行成功
<0函数调用失败

◆ CAN_UDS_Response()

int WINAPI CAN_UDS_Response ( int  DevHandle,
unsigned char  CANIndex,
CAN_UDS_ADDR pUDSAddr,
unsigned char *  pResData,
int  TimeOutMs 
)

获取UDS响应数据,该函数一般是在调用 CAN_UDS_Request 函数之后调用

参数
DevHandle设备号,通过调用 USB_ScanDevice 获取
CANIndexCAN通道号,0-CAN1,1-CAN2
[in]pUDSAddrUDS数据收发控制信息结构体指针,详细可以参考 CAN_UDS_ADDR
[out]pResData存储响应数据的缓冲区指针,里面包含RSID和对应的参数数据
TimeOutMs等待响应的超时时间,单位为ms
返回
函数执行状态
返回值
>0获取到的响应数据字节数
=0没有获取到响应数据
<0函数调用失败