我通过串口助手,发送了 HEX 的'88 AA BB CC DD EE FF'
python接收到消息后,我通过如下代码,转化成十六进制显示,以方便我检验是否正确
n=ser.inWaiting()
if n:
data=str(binascii.b2a_hex(ser.read(n)))[2:-1]
print(data.upper())
time.sleep(1)
但结果位确显示'082A3B4C5D6E7F’
请问如何能正确显示呢?

Python读取串口助手的hex消息如何正确显示?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- GPT_Pro 2023-02-25 10:39关注
该回答内容部分引用GPT,GPT_Pro更好的解决问题
Python读取串口助手的hex消息如何正确显示?要让Python正确显示串口助手发送的HEX消息,首先要确保发送的消息是正确的,即使用HEX格式发送的是正确的消息。
然后在python代码中,利用python自带的binascii库中提供的函数:b2a_hex()函数,将串口助手发送的HEX消息转换成16进制格式,这是code如下:
import binascii n = serinWaiting0) data=binascii.b2a_hex(serread(n)) print(data.upper()) time.sleep(1)
最后再将16进制格式转换成字符串格式进行显示,code如下:
import binascii n = serinWaiting0) data=binascii.b2a_hex(serread(n)) data_str=data.decode('utf-8') #将16进制转换成字符串格式 print(data_str.upper()) #大写显示 time.sleep(1)
以上就是如何让Python正确显示串口助手发送的HEX消息的方法。
如果回答有帮助,望采纳。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报