如何编写命令以生成特定格式的总线数据?

How to write a command to produce canbus data in the perticular format?

我正在编写一个 python 程序来生成以下格式的 canbus 数据。

<0x18eeff01> [8] 05 a0 be 1c 00 a0 a0 c0

我正在为此使用 python-can 库并尝试读取上述消息格式。我不知道第一种格式 <0x18eeff01> 表示什么?我不知道如何在输出中生成它。


try:
    for i in range(0,200):
        msg=bus.recv(timeout=1)
        print("------")
        data = "{} [{}]".format(msg.channel,msg.dlc)
        for i in range(0,msg.dlc):
            data += " {}".format(msg.data[i])
        print(data)
        #Timestamp, Prio, PGN,src,dest, len, data



except can.CanError:
    print ("error")
finally:
    bus.shutdown()
f.close()````

Following is the output of this code:

````[8] 05 a0 be 1c 00 a0 a0 c0````

How can I produce whole string of the data as mentioned earlier?

0x18eeff01 为十六进制形式的仲裁 ID。您可以使用 msg.arbitration_id 获取它。 See here