シリアルデータを別の文字列と比較できる文字列に読み込もうとしています。if (inputString.equals("test")) を使用してブール値をテストしていますが、シリアルモニターに test を入力すると、 THEY ARE EQUAL が表示されないため、常に false として返されます (送信したものはすべてエコーバックされます) arduinoに)。何か案は?このように文字列を連結すると、表示されない余分なバイトが文字列に追加されますか?
String inputString = ""; // a string to hold incoming data
boolean stringComplete = false; // whether the string is complete
void setup() {
// initialize serial:
Serial.begin(9600);
}
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
if (inputString.equals("test")) {
Serial.print("THEY ARE EQUAL");
}
Serial.print(inputString);
// clear the string:
inputString = "";
stringComplete = false;
}
}
void serialEvent() {
while (Serial.available()) {
// get the new byte:
char inChar = (char)Serial.read();
// add it to the inputString:
inputString += inChar;
stringComplete = true;
}
}
ありがとう!