我正在尝试向设备发送和接收十六进制命令。
设备发送以下十六进制数据:\x02x82x36xFFxFFx01xB5x03
我使用的是以下简单代码:
import serial
port = serial.Serial('COM1', baudrate=19200, timeout=3.0)
while True:
rcv = port.readline()
print (rcv)
rcv的输出是以下python代码将输出显示为\x028236????01;5\x03'
帮助。我是python的新手,我确信我犯了一个简单的错误,但它让我发疯了。
由于
答案 0 :(得分:0)
您获得的输出是接收字节的可打印表示。每个字节都编码一个(扩展的)ASCII字符(可打印或不打印)。可打印的按原样打印(在您的情况下,它们是8236
,01;5
)。其他的打印为十六进制代码\x02
,\x03
(分别为代码02和03),依此类推。如果你打开一些ASCII表,你会看到字符2
表示为0x82,而你所获得的其他代码则相同。