我在通过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()
非常感谢你的帮助!