我使用的是带有GPS模块的Arduino Mega (PMB-648 GPS),我可以看到GPS发送给我的所有内容:
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,144547.705,V,5458.6542,N,00136.4148,W,,,240512,,,N*65
$GPGGA,144549.705,5458.6542,N,00136.4148,W,0,00,,20.6,M,47.8,M,,0000*51
这是可以的,但是现在我需要分离以"$GPRMC“开头的字符串,并将其放入另一个变量中,当GPS改变位置时,字符串改变,只剩下"$GPRMC”。
这是我的代码:
String GPSstring ="";
boolean stringComplete = false;
void setup(){
Serial.begin(9600);
Serial2.begin(4800);
}
void loop(){
if (stringComplete){
Serial.println(GPSstring);
GPSstring = "";
stringComplete = false;
}
}
void serialEvent2(){
while(Serial2.available()){
char inchar = (char)Serial2.read();
GPSstring += inchar;
if(inchar == '\n'){
stringComplete = true;
}
}
}
发布于 2012-05-25 16:14:39
最简单的方法是创建一个StringObject并使用startsWith()方法。
发布于 2012-05-28 23:56:32
懒惰是值得的。看一下ARduino的TinyGPS Library,它可以轻松地解析您的NMEA字符串。
https://stackoverflow.com/questions/10739981
复制相似问题