以下代码正在工作,但我根本不想打印任何内容。
while(true) {
String inputString2="";
while(Serial.available()) {
char inChar2 = char(Serial.read());
//on va lire un char et l'enregistrer dans inChar
inputString2 += inChar2;
//on va concaténer inChar dans inputString
Serial.print("12345");
}
if (inputString2.indexOf("okrnokrn")!=-1) {
//on vérifie quelle donnée a été lue
break;
}
inputString2="";
}
当Serial.print("12345");
少于 5 个字符时,程序不会到达循环中断。
if (inputString2.indexOf("okrnokrn")!=-1) {
//on vérifie quelle donnée a été lue
break;
}
>while loop(while(Serial.available()))
比从其他设备串行发送快得多。因此,inputString2
将始终被初始化。
这是一个简单的编辑:
String inputString2="";
while(true) {
while(Serial.available()) {
char inChar2 = char(Serial.read());
inputString2 += inChar2;
}
if (inputString2.indexOf("okrnokrn")!=-1) {
inputString2=""; //clear variable
break;
}
}
但这并不好。怎么样?
//global variable
String inputString2="";
void loop() {
//If there is no data to read, exit loop
if(Serial.available() <= 0)
return;
char inChar2 = Serial.read();
inputString2 += inChar2;
if (inputString2.indexOf("okrnokrn")!=-1) {
// to do begin
// to do end
inputString2="";
}
}