Gps nmea输出获取有效$GPGSV,但无效$GPGGA$GPRMC

Gps nmea输出获取有效$GPGSV,但无效$GPGGA$GPRMC,gps,location,nmea,Gps,Location,Nmea,我试图解析连接到cubietruck board ARM®Cortex串行端口的调制解调器的gps nmea输出™-A7双核。配置成功,我从调制解调器获得4g网络,但当我尝试从gps模块中查看nmea时,我得到以下信息: $GPRMC,,V,,,,,,,,,,N*53 $GPGSV,2,1,08,07,49.9,43.6,28.2,28,49.9,158.9,29.2,02,3.5,239.1,,05,49.9,286.9,E $GPGSV,2,2,08,06,,,,08,9.8,68.9,,0

我试图解析连接到cubietruck board ARM®Cortex串行端口的调制解调器的gps nmea输出™-A7双核。配置成功,我从调制解调器获得4g网络,但当我尝试从gps模块中查看nmea时,我得到以下信息:

$GPRMC,,V,,,,,,,,,,N*53
$GPGSV,2,1,08,07,49.9,43.6,28.2,28,49.9,158.9,29.2,02,3.5,239.1,,05,49.9,286.9,E
$GPGSV,2,2,08,06,,,,08,9.8,68.9,,09,31.6,104.1,,13,20.4,299.5,,1*5E
$GNGNS,112218.9,,,,,NNN,,,,,,*03
$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GNGSA,A,1,,,,,,,,,,,,,,,*00
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N*53
$GPGSV,2,1,08,07,49.9,43.6,27.9,28,49.9,158.9,29.7,02,3.5,239.1,,05,49.9,286.9,F
$GPGSV,2,2,08,06,,,,08,9.8,68.9,,09,31.6,104.1,,13,20.4,299.5,,1*5E
$GNGNS,112219.9,,,,,NNN,,,,,,*02

我查看了一下,发现$GPGSV是GPS卫星。所以我知道我有两颗卫星。这可能是因为我没有得到有效的$GPGGA$GPRMC,或者我应该检查其他内容吗?

您没有位置修正,因此在某些电报中得到空值。您可能知道,逗号之间应该有纬度、经度和其他数据,而不是空值。两颗卫星不足以确定位置,你至少需要3颗或4颗卫星才能确定位置

NMEA 0183标准的定义很弱,没有提到GPS设备在没有位置定位时应该做什么。发送空值是很常见的,但某些单元的行为可能不同。从A和V字母可以很容易地判断数据是否有效。V表示无效,A表示活动。在RMC电报中,你可以看到一个V,这意味着整个东西是无效的

在GSV电报中获取值的原因是,GPS能够看到两颗卫星,因此可以计算电报中所需的值

第三个字段,08,是在良好条件下你能看到的卫星的理论数量


所以你要做的就是把GPS带到户外或者把它连接到一个合适的天线上。当它能够看到卫星时,它将开始发送正确的值。

实际上,通过你的两个GPGSV句子,你可以看到08颗卫星,其中8颗。GSV 2有两个“句子”,1,08表示描述08颗卫星的两个句子中的一个,2,2,08表示描述08颗卫星的两个句子中的两个