CAN 总线测试说明

CAN 接口初始化

在使用 CAN 总线前,需依次执行以下三步完成接口配置与启用:

# 1. 关闭 CAN 接口(修改配置前必须先关闭)
ifconfig can0 down

# 2. 设置 CAN 总线参数(比特率 250Kbps)
ip link set can0 type can bitrate 250000

# 3. 启用 CAN 接口
ifconfig can0 up

参数说明:

  • bitrate 250000:设置 CAN 总线通信速率为 250 Kbps。常见工业场景也可设置为 125000、500000 或 1000000(1Mbps),需确保总线上所有节点的波特率一致。
  • can0:CAN 设备接口名称,部分平台可能为 can1、can2 等。

CAN 数据接收

使用 candump 工具监听 CAN 总线上所有接收到的报文:

candump can0

输出示例:

can0  123  [8]  11 22 33 44 55 66 77 88
can0  456  [4]  AA BB CC DD
  • 123:CAN ID(十六进制标识符)
  • [8]:数据长度(DLC),单位为字节
  • 11 22 33 …:数据载荷(十六进制)

CAN 数据发送

使用 cansend 工具向 CAN 总线发送一帧指定 ID 的数据:

cansend can0 123#1122334455667788

格式说明:

cansend <接口> <CAN_ID>#<数据载荷>
  • 123:CAN ID(十六进制,标准帧范围 000 ~ 7FF)
  • #:ID 与数据之间的分隔符
  • 1122334455667788:最多 8 字节数据载荷(十六进制,每 2 字符为 1 字节)

查看 CAN 接口信息

使用以下命令查看 CAN 接口的详细状态与配置参数:

ip -details link show can0

输出关键字段解析:
| 字段 | 含义 |
| :— | :— |
| state UP | 接口已启用 |
| bitrate 250000 | 当前配置的通信波特率 |
| restart-ms 0 | 自动重启间隔(0 表示禁用) |
| berr-counter tx/rx | 发送/接收错误计数器 |


canDemo 工具下载

可通过以下链接获取 CAN 通信示例 Demo 程序:
https://pan.baidu.com/s/1j-JOmjKTZCQEXwIyYw8EwA?pwd=zw8y 提取码: zw8y

作者:林晓燕  创建时间:2026-08-28 17:54
最后编辑:林晓燕  更新时间:2026-10-15 15:11