从 can 消息转换位数据

问题描述

我正在尝试剥离一条 canbus 消息以找到各个位,以便我可以使用位字节表对示例消息进行解码: E4 7F 55 55 55 55 55 04

message = can.Message(arbitration_id=0x200,data=[0xe4,0x7f,0x55,0x04],extended_id=False)

#### message will be replaced by a call like message = q.get(),just using a dummy message for Now

candata = ''
for i in range(message.dlc):
    candata +=  '{0:x} '.format(message.data[i])
    
message_bin =  binascii.unhexlify(candata)
speed=message_bin[17:23]

我似乎无法将其全部转换为二进制并将其存储到 message_bin 中,不断收到奇数长度的字符串错误。 该消息打印为 E4 7F 55 55 55 55 55 4 并且我试图去除它的空格等,但它仍然无法正常工作:(

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)