Arduino C не зацикливается? - PullRequest
0 голосов
/ 29 апреля 2011
char* lastfeedbuffer[3];
void lastfeed_receive(){
  while(Serial.available() >= LASTFEED_LEN ){
    char c = Serial.read();
    if (c == LASTFEED_HEAD){
      for (int i = 0; i < LASTFEED_LEN - 1; i++){
        lastfeedbuffer[i] = Serial.read();
      } 
    }
  }
  Serial.println(lastfeedbuffer);
  if (lastfeedbuffer == "00"){
    Serial.println("asdf");
  }
}

Я не понимаю, почему следующий код не печатает asdf.Serial.println(lastfeedbuffer) печатает 00, что означает, что оно должно войти в цикл. Есть идеи, почему это не так?

1 Ответ

3 голосов
/ 29 апреля 2011

Использование strcmp(lastfeedbuffer, "00") == 0 - В настоящее время вы сравниваете два не связанных между собой указателя.

Кроме того, я полагаю, что в вашем фактическом коде char lastfeedbuffer[3]; не char* lastfeedbuffer[3];?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...