我知道这已被问过很多次,但我真的找不到我真正要搜索的内容。
我正在使用 Arduino Uno 和 GPS Shield,通过串行显示 GPS 数据。
这是我上传到我的 Arduino 以连接 GPS Shield 的代码:
void loop() // run over and over
{
while(!(mySerial.available())){}
Serial.write(mySerial.read());
}
那只是代码。然而,随着它不断循环,在串行监视器上,它也每秒输出 GPS 数据。
这是它每秒的输出:
$GPGGA,013856.000,000.9090,N,9090.90,E,1,09,1.1,316.97,M,0.00,M,,*66 $GPGSA,A,3,07,08,11,1ÿ3,16,19,23,27,42,,,,2.8,1.1,2.5*3F $GPRMC,013856.000,A,000.9090,N,9090.90,E,0.0,038.1,310814,,,A*62 $GPGSV,ÿ3,1,12,16,26,059,33,27,33,025,44,08,30,330,32,07,31,326,34*7A $GPGSV,3,2,12,19,58,354,31,01,33,186,18,23,32,221,24,11,5ÿ9,198,31*70 $GPGSV,3,3,12,42,60,129,32,13,38,253,27,32,06,161,,31,01,140,*7E
随着它每秒更新一次,坐标变为最小,这意味着 GPS Shield 正在工作。
这里的问题是,我想解析 GPS 数据,尤其是仅在 GPGGA 行上,而忽略其他行。我想解析状态、纬度、N/S 指示器、经度和 E/W 指示器。
我搜索了 NMEA 库(http://nmea.sourceforge.net/),但我不知道如何使用它。
有人可以在这里帮助我吗?谢谢你。