字符串比较不工作Arduino

时间:2014-10-14 11:11:24

标签: string arduino-uno

有人可以解释这段代码有什么问题。为什么if语句总是假的,当它匹配完全的字符串时..我已经尝试了==以及..但是,每次我找到No Match Found !!。

String inData = "";
char inChar;
String property;  
String a = "test";

void loop() {


  Serial.println("String Comparison"); 

  if(Serial.available() > 0){

        while(Serial.available()>0) {
          inChar = Serial.read();
          inData.concat(inChar);
        }

        //Extracting Property
        property = inData.substring(inData.lastIndexOf(":")+2); // Extracts the String "test"
        Serial.println("Property:" +property);


        if(property.equals(a)){ // It never matches though, it is TRUE all the time

           Serial.println(" Matched !! ");

        }      
        else
        Serial.println(" Match Not Found !! ");

       inData = "";


   }

  delay(5000);
}

1 个答案:

答案 0 :(得分:1)

由于我能够看到匹配匹配和未命中错过,我认为我需要更多信息来复制错误。

由于我没有看到它发生,我猜它与输入的内容以及该行如何解析它有关。

property = inData.substring(inData.lastIndexOf(":")+2); // Extracts the String "test"
  • 失败的当前输入是什么?
  • 您可以在输入中包含打印输出吗?
  • 添加一行以打印property.length()以测试隐藏的空白字符