CAN UDS协议接口函数和相关数据结构定义
更多...
|
函数调用出错后返回值定义
|
#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收发帧类型标志宏定义
|
#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 获取 |
| CANIndex | CAN通道号,0-CAN1,1-CAN2 |
[in] | pUDSAddr | UDS数据收发控制信息结构体指针,详细可以参考 CAN_UDS_ADDR |
[in] | pReqData | 发送的请求数据指针,包含服务SID,子服务ID,参数 |
| DataLen | 请求的数据有效字节数 |
- 返回
- 函数执行状态
- 返回值
-
◆ 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 获取 |
| CANIndex | CAN通道号,0-CAN1,1-CAN2 |
[in] | pUDSAddr | UDS数据收发控制信息结构体指针,详细可以参考 CAN_UDS_ADDR |
[out] | pResData | 存储响应数据的缓冲区指针,里面包含RSID和对应的参数数据 |
| TimeOutMs | 等待响应的超时时间,单位为ms |
- 返回
- 函数执行状态
- 返回值
-
>0 | 获取到的响应数据字节数 |
=0 | 没有获取到响应数据 |
<0 | 函数调用失败 |