微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 can 消息转换位数据

如何解决从 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 举报,一经查实,本站将立刻删除。