【发布时间】:2019-11-22 20:50:29
【问题描述】:
我在 Arduino 上编写了这段代码,目的是让用户在串行监视器中输入延迟时间,然后 LED 应该随着延迟时间闪烁。例如,如果我输入 1000,则 LED 应打开 1 秒,然后关闭 1 秒,然后重复。
我的问题是,当代码运行完一次后,它会等待新的用户输入,而不是继续闪烁。我想我必须将Serial.parseInt 排除在循环之外,但我不确定每次我试图将它放在其他地方时,LED 都会不断亮起。
代码如下:
int ledPin = 13;
void setup() {
// put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.print(" Enter delay time: ");
while (!Serial.available());
}
void loop() {
// put your main code here, to run repeatedly
int delayTime = Serial.parseInt();
digitalWrite(ledPin, HIGH);
delay(delayTime);
digitalWrite(ledPin, LOW);
delay(delayTime);
}
【问题讨论】: