我从arduino发送到arduino字符串(I2C),捕获并保存到char [10]。当我将这个变量与文本进行比较时,条件没有执行: - /我不知道为什么......
char dataRx[10] = "";
void DaemonReceiving(int howMany){
int index = 0;
while(Wire.available() > 0){
char c = Wire.read();
dataRx[index++] = c;
dataRx[index] = '\0';
}
Serial.println(dataRx);
if(dataRx == "HELLO"){
Wire.beginTransmission(1);
Wire.write("HI");
Wire.endTransmission();
}
}
答案 0 :(得分:6)
要将dataRX字符串与“HELLO”进行比较,请使用:
if (strcmp (dataRx,"HELLO") == 0) {
// matches HELLO
}
答案 1 :(得分:4)
如果它是C,你必须使用strcmp
,否则你只是比较两个指针 - “HELLO”的位置和dataRx的位置(将失败)
请注意,这与arduino无关:)
答案 2 :(得分:4)