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