1
我工作的一個Arduino和String.substring似乎並不正確地工作,所以我想知道我可能是做錯了....String.substring不返回true
我的功能如下:
boolean processSerial()
{
String buf;
int iter = 0;
char thisChar;
while(iter < 1000){
if (Serial.available()) {
#if ARDUINO >= 100 //For Arduino v1.0+
{
thisChar = Serial.read();
buf += thisChar;
//if(DEBUG){Serial.print(thisChar);}
}
#else //For Arduino v0023 or earlier
thisChar = Serial.read();
#endif
}
iter++;
}
Serial.print(buf);
Serial.print(buf.substring(0,10));
if(buf.substring(1) == "GPGGA"){
Serial.println("FOUND IT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
Serial.println("And we're done");
}
模式「GPGGA」即將到來,但子字符串未返回true。
從我的串行輸出是如下:
$GPGGA,053540.000,3804.1237,N,07615.5232,W,1,7,1.39,117.5,M,-33$GPGGA,053And we're done
因此buf
清楚字符串中具有 'GPGGA'。顯示'GPGGA'的最後一點是字符串中字符0-10的打印。爲什麼我的if
聲明不能返回true?
嗯,那麼如何在'前10個字符'內搜索該模式? – WildBill
此外,您的聲明與本文檔衝突。不知道爲什麼他們錯了... http://arduino.cc/en/Tutorial/StringSubstring – WildBill
啊,我想我現在知道如何去做。 (1,5)應該工作。 – WildBill