我正在做一个简单的项目,需要我写一个Python脚本,通过串口从PC向Arduino发送数据,作为这个项目的一部分,我希望能够检查Arduino的64字节输入缓冲区有多少字节。作为这个项目的一部分,我希望能够检查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()
我希望第一条打印语句输出20,第二条输出0,但都是0,我真的不知道为什么。
这里是pySerial文档的链接。pySerial文档
先谢谢你的帮助。
在开始向端口写入信息之前,你可以初始化write_timeout=0。