can-bus - Candump 显示 29 位 ID,而不是 11 位 - 无法重放代码

标签 can-bus socketcan canutils

尝试使用 can-utils 重放 2018 Dodge Promaster 的 CAN 代码。来自什么I've read他们使用 11 位 CAN ID。但是当我使用时:

candump -L can0 > can.log

日志显示 29 位 ID

(1519238827.107818) can0 04394100#00000000F0006000
(1519238827.122395) can0 063D4000#4652000080FE0000
(1519238827.126761) can0 04394000#000000AB
(1519238827.147822) can0 03029000#0000000000000000
(1519238827.152676) can0 06254000#00FFFF00FFFFFF00
(1519238827.157823) can0 03029100#0000000000000000
(1519238827.207842) can0 04394100#00000000F0006000
(1519238827.222727) can0 06314000#0000000000000000
(1519238827.226953) can0 04394000#000000AB
(1519238827.244633) can0 0E094000#001A00000409
(1519238827.247843) can0 03029000#0000000000000000
(1519238827.249614) can0 0E094003#001A
(1519238827.251375) can0 0E094020#000A
(1519238827.253121) can0 0E09400A#001A
(1519238827.254935) can0 0621400A#0000
(1519238827.257940) can0 03029100#0000000000000000
(1519238827.262128) can0 06314020#100000BC

我想这就是为什么用 canplayer 重放不起作用的原因。有谁知道如何强制 candump 使用 11 位 ID?

最佳答案

您不能强制 candump 使用 11 位 ID,因为帧格式是由仲裁字段中的位定义的(参见 Wikipedia - CAN bus,“数据帧”小节)。快速浏览一下您链接的文章后,我发现该车型是 2000 年代的,而您的汽车是 2018 年的。在此期间可能已经进行了许多更改。

结论:你的问题不是一个,而是你的文章太旧了,与你的车不匹配。

关于can-bus - Candump 显示 29 位 ID,而不是 11 位 - 无法重放代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913786/

相关文章:

python-3.x - 错误:can.socketcan.ctypes:Setting filters failed -1 Find out the can error frame

sockets - RX溢出后SocketCAN停止读取,正常吗?

c - STM32F 使用 HAL_CAN 库

linux - 使用 SocketCAN 发送一次性消息

linux - 如何在 Linux 中连接两个 VCAN 端口?

linux - Tiny-CAN I-XL socketCAN 扩展格式

serial-port - 强大且易于实现的串行总线(汽车应用)