从点火序列中读取十六进制或十进制

问题描述 投票:3回答:1

我有一个返回23个十六进制值的串行设备。我使用点火中的system.serial.readBytes('COM1', 23)读取值。返回array('b', [-85, 112, 1, 18, -79, 0, 1, 116, -41, 2, -17, 10, 28, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0])。我知道这里的值是带符号2的补码中的十进制值,但是如何获得十进制值?例如,-85应为171,或十六进制为0xAB。我希望直接读取十六进制值,但是我不知道该怎么做。有什么主意吗?

python serial-port hex decimal ignition
1个回答
0
投票

您可以轻松地将它们转换为十进制值。

def signed2unsigned(val):
    if val >= 0:
        return val
    else:
        return 256+val
© www.soinside.com 2019 - 2024. All rights reserved.