Arduino mega + GPS模块

时间:2012-05-24 14:54:40

标签: gps arduino

我正在使用带有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;

    }
  }
}

2 个答案:

答案 0 :(得分:1)

最简单的方法是创建StringObject并使用startsWith()方法。

答案 1 :(得分:1)

懒惰是值得的。看看ARduino的TinyGPS Library可以轻松解析您的NMEA字符串。