pySerial readline读取先前写入的数据

时间:2013-12-21 20:54:30

标签: python serial-port pyserial

HY,

我正在通过串口写一些数据,我在读取该设备的响应时遇到了问题。

示例:

ser.write('Hello World')
print(ser.readline()) #Instead of reading the response from the 
                      #other device, it reads 'Hello world'

我已经针对这个问题做了一个解决方法,通过调用readline()两次,而不是关心第一个问题。通过这种方式(工作)它可以读取从其他设备发送的数据

ser.write('Hello World')
ser.readline()
print(ser.readline())

对我来说,发送它的数据仍然在缓冲区中?当调用readline()时,它首先会红色?!

有人可以帮我解释一下我做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

不太可能,“缓冲区中没有数据存在问题”。 但更有可能的是,设备正在发送它收到的所有内容,然后做出响应。 此行为允许使用终端与串行设备通信,以查看设备是否正常接收。它允许纠正拼写错误并验证主机和设备是否都设置为相同的波特率。