问题描述
我想将车辆的 CAN 数据接收到 CAN 套接字并将其发送到服务器。 (原始数据)
因此,CAN ID 在对发送到服务器的原始数据进行后处理时非常重要。
Candump和wireshark接收到的CAN数据ID只有3位,很难分辨是哪一个数据。
比如虽然我需要接收的CAN ID是0x1f532d10,但是socketcan只接收到d10并显示出来。
有没有办法把ID长度作为一个整体来获取?
解决方法
如果您使用 SocketCAN 来发送帧,您需要在 can_frame 结构体的 can_id 字段中设置“扩展帧格式”位,例如:
frame.can_id |= CAN_EFF_FLAG;