我正在做一个简单的项目,要求我编写一个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
在此先感谢您的帮助。
答案 0 :(得分:0)
您可以在开始向端口写入消息之前初始化write_timeout = 0