【E487】GPS NMEA0183协议解析(C语言)

2021-08-23 14:13:17      索炜达电子      884     

项目编号:E487

文件大小:7K

源码说明:带中文注释

开发环境:C编译器

简要概述:

GPS NMEA0183协议简要解析框架

  • 支持解析 RMC、GGA、VTG、HDT等消息字段信息,由于解析框架比较明了,移植源码者可自行考虑添加新的解析代码。

  • 解析方式采用逐个字段解析的方式,能很大程度上节省消耗内存空间。

  • 重新编写数据转换函数,不依赖外部库,移植时一般只需包含NMEA0183.h文件即可。

  • 代码示例:

    char nmea[] =
    "$GNRMC,102219.00,A,2239.11578,N,11406.59325,E,0.009,,291018,,,D62\r\n"
    "$GNVTG,,T,,M,0.009,N,0.017,K,D
    37\r\n"
    "$GNGGA,102220.00,2239.11583,N,11406.59338,E,2,09,1.30,112.7,M,-2.3,M,,0000*52\r\n";

    NMEA0183 nmea0183; unsigned int index = 0;

    for(index=0; index<sizeof(nmea); ++index) { if(nmea_decode(&nmea0183, nmea[index])) { ///解析代码成功 } }

解析成功后得到的数据保存在nmea0183.gpsData结构体缓冲区中。

  • NMEA0183解析代码思路来源于开源飞控代码(Ardupilot),所以该份代码开源,可免费使用。

目录│文件列表:

 └ NMEA0183-C

    │ NMEA0183.c

    └ NMEA0183.h

TAGGPS
  • 15 次
  • 1 分