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");
  }
}

我不明白为什么下面的代码没有打印asdfSerial.println(lastfeedbuffer)会打印出00,这意味着它应该进入循环,为什么不呢?

最佳答案

使用strcmp(lastfeedbuffer, "00") == 0-您当前正在做的是比较两个不相关的指针。
另外,我相信您的实际代码中有char lastfeedbuffer[3];没有char* lastfeedbuffer[3];

09-25 20:44