1

GPS モジュール (PMB-648 GPS) を搭載した Arduino Mega を使用しています。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;

    }
  }
}
4

2 に答える 2

1

怠惰になるのは報われる。NMEA文字列を簡単に解析するには、ARduino用のTinyGPSライブラリをご覧ください。

于 2012-05-28T15:56:31.887 に答える
1

最も簡単な方法は、 StringObjectを作成し、 startsWith()メソッドを使用することです。

于 2012-05-25T08:14:39.343 に答える