一、GPS定位信息

设置好gps模式,启动gps,正常的话在gps通路有NMEA数据上报,如下:

$GPGSV,3,1,11,01,62,130,42,07,61,201,43,11,72,075,28,17,20,251,38*7A

$GPGSV,3,2,11,30,63,272,44,03,00,149,,08,34,046,,13,05,309,*76

$GPGSV,3,3,11,22,08,127,,27,03,057,,28,34,312,*4C

$GPGGA,042523.0,3413.610533,N,10854.063257,E,1,05,2.6,438.5,M,-28.0,M,,*78

$GPVTG,245.9,T,245.9,M,0.0,N,0.0,K,A*23

$GPRMC,042523.0,A,3413.610533,N,10854.063257,E,0.0,245.9,190716,0.0,E,A*0F

$GPGSA,A,2,01,07,11,17,30,,,,,,,,2.8,2.6,1.0*3F

(1) $GPGGA (GPS定位信息)

  协议格式:

$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , ,,0000*18

 协议格式详细分析:

(2) $GPGLL (地理定位信息)

  协议格式:

$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>*hh<CR><LF>

样例数据:

$GPGLL,3723.2475,N,12158.3416,W,161229.487,A*2C

协议格式详细分析:

(3) $GPGSA (当前卫星信息)

  协议格式:

$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*hh<CR><LF>

样例数据:

$GPGSA,A,3,07,02,26,27,09,04,15, , , , , ,1.8,1.0,1.5*33

协议格式详细分析:

(4) $GPGSV(可见卫星信息)

 协议格式:
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*hh<CR><LF>

样例数据:

$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41

需要注意的是这里的样例数据有2条,这是因为当前可见卫星一共有7个,但是每条语句最多包括四颗卫星的信息,所以分成了2条语句。每颗卫星的信息有四个数据项,即:<4>(卫星编号)、<5>(卫星仰角)、<6>(卫星方位角)、<7>(信噪比)。

  协议格式详细分析(只分析第1条样例数据语句):

(5) $GPRMC(最简定位信息)

  协议格式:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh<CR><LF>

样例数据:

$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10

协议格式详细分析:

(6) $GPVTG(地面速度信息)

  协议格式:

$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>

样例数据:

$GPVTG,309.62,T, ,M,0.13,N,0.2,K*6E

协议格式详细分析:

二、GPS(NMEA)数据解析

/*********************************************************************************/

ingps.h

/*********************************************************************************/

#include<stdio.h>  

#include<stdlib.h>  

#include<string.h>  

#include<sys/types.h>  

#include<sys/stat.h>  

#include<fcntl.h>  

#include<unistd.h>  

#include<termios.h>  

#include<string.h> 

/*********************************************************************************/

degps.h

/*********************************************************************************/