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
,这意味着它应该进入循环,为什么不呢? 最佳答案
使用strcmp(lastfeedbuffer, "00") == 0
-您当前正在做的是比较两个不相关的指针。
另外,我相信您的实际代码中有char lastfeedbuffer[3];
没有char* lastfeedbuffer[3];
?