我使用pyserial
:
ser.write("\x01\x03\x00\x00\x00\x0A\xC5\xCD")
data = ser.readline()
print data
输出结果为:
Q,f� ��
Q.f� �
Q8f� �B
Q5f� �
我的问题是如何以十六进制格式显示输出,例如
01 03 14 50 AD 00 00 00 00 00 00 00 00 00 00 66 DC 00 00 00 09 00 00 A8 42
另外,我如何转换为十进制:
50AD = 20653
66DC = 26332
答案 0 :(得分:2)
查看十六进制:
print ' '.join('%2x' % ord(c) for c in data)
我不太确定你在查看小数时要做什么。如果您尝试将数据拆分为16位块并将其显示为十进制,那么这应该可以解决问题:
print [256*ord(c) + ord(d) for c, d in zip(data[::2], data[1::2])]
答案 1 :(得分:1)
我猜你有两个问题: