我一直在使用Pexpect和Pyserial,通常它工作正常,但偶尔我会丢失一个字节。我要做的是接收一串十六进制字节,其中前几个字节总是相同,但之后的字节是不同的,然后我想打印不同的字节。我正在做的一个简化示例是:
发送('\ x00 \ x01 \ x02 \ xab \ xcd \ xef \ xff'),其中ff是表示信号的标志 结束信号)
ser = serial.Serial('/dev/ttyUSB0')
ds = fdpexpect.fdspawn(ser)
ds.expect('\x00\x01\x02')
data = ser.read(1)
print(data)
我遇到的问题是数据有时是\ xab,而其他时候\ xab字节以某种方式丢失,而不是\ xcd。我正在使用Ubunut MATE 16.04.02运行树莓派,如果这有任何区别的话。