2021-08-23 14:13:17 索炜达电子 1390
项目编号: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,D37\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