【发布时间】:2019-03-29 13:37:12
【问题描述】:
我在 python 中使用 cantools 来解码从 socketcan 读取的一些 CAN 消息。在 python 中,我可以从套接字读取消息并简单地解码它:
message = can_bus.recv()
decoded_msg = db.decode_message(msg.arbitration_id, msg.data)
can_bus 是套接字,db 是 dbc 加载的文件。 现在我已经从我的 .dbc 文件开始生成了 C 文件 .h 和 .c 。如何使用自动生成的文件解码在 C 中接收到的 CAN 消息?我可以通过这种方式(在 C 中)从套接字读取消息:
nbytes = read(s, &frame, sizeof(struct can_frame));
其中 s 是套接字,而 frame 是存储接收到的帧的位置。 如何使用 .h 和 .c 自动生成的文件解码接收到的帧?
【问题讨论】:
标签: c sockets decode can-bus auto-generate