我正在尝试使用python中的串行连接进行通信。到目前为止,这是我的代码:
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)
EndCom = "\xff\xff\xff"
ser.write('n0.val'+EndCom)
这应该告诉nextion返回n0
的值,即4。
ser.inWaiting()
返回4.
ser.read(4)
返回'\x00\xff\xff\xff'
。
我无法解码。
答案 0 :(得分:1)
使用struct.unpack
根据给定格式解包字符串。在这种情况下,您的格式为'i'
,这意味着4个字节的整数。
>>> import struct
>>> result = struct.unpack('i', '\x00\xff\xff\xff')
>>> result[0]
-256
来自文档:
结果是一个元组,即使它只包含一个项目。
答案 1 :(得分:0)
代码应为:
ser.write('get n0.val'+EndCom)
之前我没有返回正确的值。