2014-12-16 3 views
0

У меня возникла проблема с тем, чтобы моя функция продолжалась после утверждения if (Status == «True»), но я не уверен, почему. когда я печатаю строки, которые, по-видимому, соответствуют друг другу. Я также включил образец последовательного выхода.Проблема сравнения проанализированных последовательных данных

b'RCSSTATUS \ r \ n 'b' False \ r \ n 'b'RCSSTATUS \ r \ n' b 'False \ r \ n' b'RCSSTATUS \ r \ n 'b' False \ r \ п»

ком = команда = DATASET = 'RCSSTATUS' + результат + '\ п' = True

void parseCommand(String com){ 

String Action; 
String Status; 
Action = com.substring(0, com.indexOf(" ")); 
Status = com.substring(9, com.indexOf("e") + 1); 
    Serial.println(Action); 
if(Action == "RCSSTATUS") 
{Serial.println(Status); 
    if(Status == "True"){ 
     digitalWrite(5, HIGH); 
     digitalWrite(4, LOW); 
} 
     if(Status == "False"){ 
          digitalWrite(6, HIGH); 
      digitalWrite(4, HIGH); 
      digitalWrite(5, LOW); 
}}} 
+0

Не могли бы вы уточнить вопрос, включив фактическое значение 'com'? –

+0

Код обновляется COM, который фактически анализируется с последовательного ввода, который является RCSSTATUS True – cambria

ответ

0

Я понял это. Моя строка вывода имела пробел в начале строки. изменено if(Status == "True") до if(Status == " True")

Смежные вопросы