Pyserial out_waiting始终返回零

时间:2019-02-09 23:01:56

标签: python serial-port arduino-uno pyserial

我正在做一个简单的项目,要求我编写一个Python脚本,该脚本将通过串行端口将数据从PC发送到Arduino。作为该项目的一部分,我希望能够检查Arduino的64字节输入缓冲区中有多少字节。问题是,当我尝试写入数据然后使用pySerial的out_waiting方法时,它始终返回零。这是我一直在测试的玩具模型。

Arduino代码:

void setup() {
  Serial.begin(9600);
}

void loop() {    
}

Python代码:

import serial
import time

Arduino = serial.Serial('COM5',9600)

for i in range(20):
    Arduino.write('1'.encode())

time.sleep(1)

print(Arduino.out_waiting)

Arduino.flushOutput()
Arduino.flushInput()

print(Arduino.out_waiting)

Arduino.close()

我希望第一个print语句输出20,第二个输出0,但是我真的不知道为什么。

以下是pySerial文档的链接:pySerial docs

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在开始向端口写入消息之前初始化write_timeout = 0