我通过一个使用IsoAgLib作为框架的类接收J1939 CAN消息。在接收端,我有这些需要使用Qt的"QCanBusDevice“和"QCBusFrame”传输到CAN网络的J1939消息。
我的问题是:如何将J1939协议中的消息转换为原始can消息,反之亦然?
发布于 2021-10-24 19:13:52
J1939只是一个协议层,您首先需要根据J1939报文的优先级、PGN和源地址创建CAN ID,CAN ID长度为29bit,结构示例如下:
-priority 0x18
-PGN 0xFECA
-Source地址0x00
它上面的结构是一个J1939消息ID的示例,原始ID将是相同的0x18FECA00。J1939只规定了如何解释原始信息。
现在组装有效载荷将取决于参数长度(以位为单位)、起始位和偏移量。
根据J1939信号信息-Identify数据长度和所有字节您可以在SAEJ1939-71和SAEJ1939-73文件中找到这一点。
https://stackoverflow.com/questions/61060606
复制相似问题