在使用串口通信时,Arduino和Python之间需要进行通信。Python程序需要等待一秒钟或更长时间,如下所示:
import serial as ser
prt = ser.Serial(
port='COM18',
baudrate=9600,
parity=ser.PARITY_NONE,
stopbits=ser.STOPBITS_ONE,
bytesize=ser.EIGHTBITS
)
while 1:
prt.write(str(0) + '\r\n')
time.sleep(1) #I want to reduce this time
prt.write(str(1) + '\r\n')
time.sleep(1)
这段代码中有 sleep(1)
。它会使我的Python程序停顿一秒钟。我想要移除或缩短这个时间。我尝试将其改为0.9,但Arduino没有正确响应。
这是我的Arduino程序:
#define led 13
void setup() {
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop() {
byte incomingByte;
if (Serial.available() > 0) {
incomingByte = Serial.read();
switch (incomingByte) {
case '1':
digitalWrite(led, HIGH);
break;
case '0':
digitalWrite(led, LOW);
break;
}
}
}
如何减少或消除这个延迟?为什么每次发送后都需要一个超过1秒的延迟?