Python pyserial的错误代码-关闭后重新打开

Python pyserial的错误代码-关闭后重新打开,python,ubuntu,pyserial,odroid,Python,Ubuntu,Pyserial,Odroid,我使用pyserial来控制uart,硬件是Odroid,操作系统是ubuntu 14.04,发生了一些错误: >>> import serial >>> s = serial.Serial("/dev/ttyUSB1", 115200) >>> s.readline() '$GPNTR,054626.40,0,0.000,+0.000,+0.000,+0.000,*41\r\n' >>> s.close() >>

我使用pyserial来控制uart,硬件是Odroid,操作系统是ubuntu 14.04,发生了一些错误:

>>> import serial
>>> s = serial.Serial("/dev/ttyUSB1", 115200)
>>> s.readline()
'$GPNTR,054626.40,0,0.000,+0.000,+0.000,+0.000,*41\r\n'
>>> s.close()
>>> s = serial.Serial("/dev/ttyUSB1", 115200)
>>> s.readline()
'\x7f\x84)\x95\x02\x84a\xfd\x021\x95\n'
>>> s.close()
但在使用minicom打开端口后,该端口将恢复正常,如果我运行代码,错误将再次发生

谢谢。

天宇。

你可能应该告诉我们什么地方出了问题,而不是什么地方出了问题。另外,在使用其他串行参数minicom时,请检查其设置,即位、停止位等。。。并与python进行匹配。Minicom也可能读取超过一行的数据,因此会耗尽所有缓冲区(意味着可能的流量控制)。如代码所示,在第一次打开端口时,我可以读取正确的数据,但如果我关闭端口并重新打开,则“读取”函数将返回错误的数据。我已经在Odroid(ubuntu)和PC(windons)中做了很多测试,只有在Odroid中这个错误才会发生。我只设置波特率和port.ok,但minicom默认情况下经常设置许多其他串行参数。检查它在做什么。另外,看看你是如何从mincom退出的,例如,出口是否重置了端口?emm…我检查发现minicom的设置与我的代码相同…我使用ctrl&a+q退出minicom…使用stty-a-F/dev/ttyUSB1检查打开前后端口的状态