Arduino串行输入提示不重复



遵循Arduino代码的目的是从用户那里获取字符。 当前连续打印提示的问题。 我希望它只打印一次提示,然后等待输入。 谢谢。

char kbChar;
void setup() {Serial.begin(9600);}
void loop() {inChar();}
void inChar(){
Serial.println("Type something!");
if(Serial.available()){
kbChar = Serial.read();
Serial.println(kbChar);
}
}

请注意有关Arduino 草图中setup()loop()函数的以下属性:

  • setup()在一开始就被调用一次
  • loop()setup()完成后被反复调用,永远。

因此,您将继续打印提示,因为您的提示调用Serial.println("Type something!");位于inChar()内部,该 在loop()函数体中调用。若要仅使提示输出一次,请将其放入setup()函数体中。

char kbChar;
void setup() {
Serial.begin(9600);
while (!Serial) ;  // Wait for Serial port to open.
Serial.println("Type something!");
}
void loop() {
inChar();
}
void inChar(){
if(Serial.available()){
kbChar = Serial.read();
Serial.println(kbChar);
}
}

最新更新