这个问题可能和串口通讯的读取速度有关。如果两个串口命令发生在非常短的时间内,Arduino可能无法同时处理它们,造成无响应。解决方法是增加延时时间以确保Arduino有足够的时间来处理每个命令。例如,可以使用下面的代码:
void loop() {
if (Serial.available() > 0) {
delay(100); // 添加延时,避免读取速度过快
char incomingByte = Serial.read();
switch (incomingByte) {
case 'A':
// 执行命令A
break;
case 'B':
// 执行命令B
break;
}
}
}
通过添加延时时间, Arduino现在能够正确处理并执行多个串口命令。