与arduino的慢速串行通信?延迟差不多1秒?

Pat*_*son 6 serial-port arduino

只是尝试一些东西,因为我想用我的Arduino Nano作为我的电脑的接口,带有几个LED和按钮.所以我需要从我的PC向Arduino发送一些命令和数据.但是我发现Arduino的串行通信速度很慢.事实上,从我按Enter键发送的那一刻起,我在串行监视器中的命令几乎需要一秒钟才能执行(在这种情况下控制一个LED).

这是一个限制还是可以以某种方式加速?

这是我的简单代码:

String cmd;
int loopNum;
int ledPin = 13;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
}

void loop() {

if(loopNum == 0) {
Serial.println("Waiting for commands"); // Only display this when sketch is initiated. 
}

cmd = Serial.readString();

if(cmd == "LEDON") {
digitalWrite(ledPin, HIGH);
Serial.println("LED ON");
}
if(cmd == "LEDOFF") {
digitalWrite(ledPin, LOW);
Serial.println("LED OFF");
}
if(cmd == "HELP") {
Serial.println("Available commands:\nLEDON\nLEDOFF\nHelp");
}

loopNum++; // Counts the loop...
delay(50);
}
Run Code Online (Sandbox Code Playgroud)

改变串口的波特率似乎没有任何改变.

一些帮助将不胜感激!:)

Pat*_*son 22

解决方案是设置:

Serial.setTimeout(50)
Run Code Online (Sandbox Code Playgroud)

谢谢大家!