Python 3 - PYSerial发送和接收HEX

时间:2015-03-02 16:45:29

标签: python-3.x pyserial

我正在尝试向设备发送和接收十六进制命令。

设备发送以下十六进制数据:\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的新手,我确信我犯了一个简单的错误,但它让我发疯了。

由于

1 个答案:

答案 0 :(得分:0)

您获得的输出是接收字节的可打印表示。每个字节都编码一个(扩展的)ASCII字符(可打印或不打印)。可打印的按原样打印(在您的情况下,它们是823601;5)。其他的打印为十六进制代码\x02\x03(分别为代码02和03),依此类推。如果你打开一些ASCII表,你会看到字符2表示为0x82,而你所获得的其他代码则相同。