ser.write()十六进制字符串覆盆子

时间:2015-12-08 07:10:01

标签: python serial-port send

我在通过RS485发送/读取十六进制数据时遇到问题。我不确定我是否通过串口发送了正确的字符串。 十六进制代码为:E1 14 75 81。我读过,我可以写:

data = "\xE1\x14\x75\x81" 
ser.write(data)

为了检查是否发送了正确的代码,我添加了print(ser.write(data))但是我得到了这个输出:

True
4
▒

我也想阅读十六进制字符串的答案。为此,我只需要添加ser.read()

这里有完整的代码:     导入序列     导入结构

    ser = serial.Serial(
        port='/dev/ttyAMA0',
        baudrate=19200,
        parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,
        bytesize=serial.EIGHTBITS
    )

    print(ser.isOpen())
    data = "\xE1\x14\x75\x81"
    ser.write(data)
    print(ser.write(data))
    ser.read()
    print(ser.read())
    ser.close()

非常感谢你的帮助!

0 个答案:

没有答案