比较从 Arduino 中的串行数据接收的确认字符串
Comparing concated string recieved from serial data in Arduino
我正在尝试将串行数据读取到一个字符串中,能够与另一个字符串进行比较。我正在使用 if (inputString.equals("test")) 来测试布尔值,但它总是返回 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;
}
}
谢谢!
您需要留出足够的时间来读取串行数据。 添加延迟
char inChar = (char)Serial.read();
// add it to the inputString:
delay(100);
inputString += inChar;