【问题标题】:Extract data from hex CAN payload从十六进制 CAN 有效负载中提取数据
【发布时间】:2022-01-02 22:29:41
【问题描述】:

基本上我有这个 .blf 文件,它有一堆十六进制的 CAN 帧。

在 CAN 中,一帧有一堆消息字段。

我想获取Data 字段。

例如:1a01 2122 25f4 a187 ea80 2891 a223 4542

是一个 CAN 帧。该框架中的某处是我可以转换为十进制的数据消息。

如何识别哪些十六进制代码包含该消息?

提前感谢

【问题讨论】:

  • 您是如何得出这个由 8 个 16 位块组成的 hex goo 是 CAN 帧的结论的?一个经典的 CAN 帧具有多达 8 个字节的数据和 11 位或 29 位标识符。然后是一些包含大小和状态等的字段,但即使你计算 CRC 等(由 CAN 控制器处理,与应用程序无关),你也不会得到 16 个字节。

标签: python hex can-bus


【解决方案1】:

BLF 格式不仅包含 CAN 帧的数据,还包含其他信息,如创建 BLF 文件的应用程序的 id、时间戳、仲裁 id 等。

此外,数据也可以被压缩。

由于标签中有python,我建议你看看python-can 该库支持读写 BLF 文件。

【讨论】:

    猜你喜欢
    • 2021-03-29
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 2021-04-22
    • 2015-02-06
    相关资源
    最近更新 更多