【发布时间】:2016-05-09 13:14:03
【问题描述】:
我正在尝试从串行端口读取 3 字节 2 的补码值,并且我正在尝试绘制该值,为此我使用以下
out= BitArray(int = value_1, length = 24).int
当我传递 0x7FFFFF 中的值而不是 value_1 时,我得到了正确的结果,即 8388607
如果我尝试从串行端口 (value_1) 中获取值并将其传递到上述行,我将收到以下错误
CreationError: 7fffff 对于长度为 24 的位串来说太大了一个有符号整数。允许的范围是 [-8388608, 8388607]。
如果我在发送 value_1 进行处理之前打印它会打印 7fffff
请让我知道上面的值传递有什么问题
【问题讨论】:
-
如果你
print type(value_1),你会得到什么? - 在您的问题中提到 BitArray 来自位串库可能会有所帮助,因为许多人可能没有安装它以及 如何您正在从串行端口读取。 -
当我使用 print type(value_1) 输出是
-
我正在使用以下行从串口读取数据input_data = ser.read(3) Received_Data.append(input_data.encode("hex"))