linux - socketcan Candump - 如何扩展 CAN ID?
问题描述
我想将车辆的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;
推荐阅读
- api - API 的“最新消息”日期限制
- hyperledger-fabric - Hyperledger 结构发现服务 CLI
- python - Python中的冒泡排序函数
- c++ - `std::chrono` 时钟中的有符号和无符号 `rep`
- r - h2o 警告消息太旧的集群
- javascript - 从下拉列表中选择除一个以外的所有选项
- crystal-reports - 如何在水晶报表绘制框和数据绑定中设置颜色。.?
- javascript - Mongoose Model.find() 方法在生产环境中被破坏的问题
- android - 在 Google Firebase 中,我们如何检索从 Firebase 控制台上传的下载 URL 列表和图像?
- sql - 将 from 子句的 table 用于 where 子句的 select 语句的利弊是什么?