GPS nmealib学习笔记
GPS nmealib学习笔记
版权声明:本文为博主原创文章,未经博主允许不得转载。
目录(?)[+]
0.nmealib简介
1.目录介绍
2.示例代码
- #include <nmea/nmea.h>
- #include <string.h>
- #include <stdio.h>
- int main()
- {
- // 被测试的GPS模块输出数据,仅有GPRMC格式
- char gps_str[] = "$GPRMC,013257.00,A,3129.51829,N,12022.10562,E,0.093,,270813,,,A*7A\r\n";
- nmeaINFO info; // nmea协议解析结果结构体
- nmeaPARSER parser; // nmea协议解析载体
- nmea_zero_INFO(&info); // 填入默认的解析结果
- nmea_parser_init(&parser); // 为解析载体分配内存空间
- // 调用函数完成GPS信息解析,最终结果保留于info数组中
- if( (nmea_parse(&parser, gps_str, (int)strlen(gps_str), &info)) > 0 )
- {
- printf("longitude %.5f\r\n",info.lon);
- printf("latitude %.5f\r\n",info.lat);
- printf("speed %.2f\r\n",info.speed);
- }
- nmea_parser_destroy(&parser); // 释放解析载体的内存空间
- return 0;
- }
- typedef struct _nmeaINFO
- {
- int smask; /**< Mask specifying types of packages from which data have been obtained */
- nmeaTIME utc; /**< UTC of position */
- int sig; /**< GPS quality indicator (0 = Invalid; 1 = Fix; 2 = Differential, 3 = Sensitive) */
- int fix; /**< Operating mode, used for navigation (1 = Fix not available; 2 = 2D; 3 = 3D) */
- double PDOP; /**< Position Dilution Of Precision */
- double HDOP; /**< Horizontal Dilution Of Precision */
- double VDOP; /**< Vertical Dilution Of Precision */
- double lat; /**< Latitude in NDEG - +/-[degree][min].[sec/60] */
- double lon; /**< Longitude in NDEG - +/-[degree][min].[sec/60] */
- double elv; /**< Antenna altitude above/below mean sea level (geoid) in meters */
- double speed; /**< Speed over the ground in kilometers/hour */
- double direction; /**< Track angle in degrees True */
- double declination; /**< Magnetic variation degrees (Easterly var. subtracts from true course) */
- nmeaSATINFO satinfo; /**< Satellites information */
- } nmeaINFO;
3.若干注意点
3.1 重置解析载体缓冲区
- if(0 == (parser->buffer = malloc(buff_size)))
- nmea_error("Insufficient memory!"); // 此时会发生内存分配错误
- else
- {
- parser->buff_size = buff_size;
- resv = 1;
- }
3.2 注意nmeaINFO结构体大小
4.总结
GPS nmealib学习笔记相关推荐
- nmealib linux编译,GPS nmealib学习笔记
0.nmealib简介nmealib是一个基于C语言的用于nmea协议的开源库.虽然nmea体积小巧,但是却具备了不少功能.分析NMEA语句并把结果保存在合适的C语言结构体中.除了解析NMEA语句之外 ...
- c语言 GPS nmealib学习笔记
0.nmealib简介nmealib是一个基于C语言的用于nmea协议的开源库.虽然nmea体积小巧,但是却具备了不少功能.分析NMEA语句并把结果保存在合适的C语言结构体中.除了解析NMEA语句之外 ...
- GPS nmealib学习笔记 .
from:http://blog.csdn.net/xukai871105/article/details/12834421 0.nmealib简介 nmealib是一个基于C语言的用于nme ...
- Arduino模块学习笔记(一)—GPS模块的使用
Arduino模块学习笔记(一)--GSP模块的使用 文章目录 Arduino模块学习笔记(一)--GSP模块的使用 所需组件 一.模块使用介绍 1.GPS模块(在室内时,一般获取不到位置信息) 2. ...
- GTSAM Tutorial学习笔记
GTSAM Tutorial学习笔记 GTSAM Tutorial学习笔记 1. 基本原理 2. Demo代码 3. LIO-SAM中部分代码分析 3.1 预积分因子图 3.2 关键帧因子图 GTSA ...
- Android学习笔记:短信控制手机之“短信开启定位”
2019独角兽企业重金招聘Python工程师标准>>> 首先,我必须说,我是菜鸟.接触Android不就久,在这里记下,第一想让自己有更加深刻的印象,第二也想和大家一起分享.如果出现 ...
- 视觉SLAM十四讲学习笔记---前三讲学习笔记总结之SLAM的作用、变换和位姿表示
经过半年学习SLAM相关知识,对SLAM系统有了一些新的认识,故回看以前的学习记录,做总结和校正. 前三讲学习笔记如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉S ...
- 视觉SLAM十四讲学习笔记-第二讲-初识SLAM
专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 "定位"和"建图",可以看成感知的"内外之分". ...
- 英语学习笔记2019-12-06
英语学习笔记2019-12-06 At the beginning of this term, we talked about the talent show which would be carri ...
最新文章
- Linux中/proc目录下文件详解
- python requests 重定向_认识Python最最最常用语重要的库Requests
- 无需额外数据,首次实现ImageNet 87.1% 精度,颜水成团队开源VOLO
- 算法导论——所有点对最短路径:稀疏图Johnson算法
- idea在Terminal中使用maven指令
- html标签slot,HTML slot 标签
- python怎样打开加密的文件_如何在Python中解密OpenSSL AES加密的文件?
- 这几天又看了Gosu,发现也是蛮有意思
- STL 容器迭代器失效总结
- 【Python学习】 - PIL - 各种图像操作
- LeetCode 146. LRU缓存机制(哈希链表)
- 自己总结的sql基本操作
- PowerDesigner基础学习
- 两种方法求最大公约数和最小公倍数
- TDEngine游戏平台框架逻辑
- activemq高可用
- 系统架构设计师之备考攻略(2022年修订版)——一篇就够
- Flak框架 Flask从入门到精通
- mos管的rc吸收电路计算_RC吸收电路参数计算
- ps形状工具组的使用
热门文章
- iPad上面的扫描加水印免费软件推荐
- 图集内子图压缩及 ETC2 fallback选项的作用
- 毕业生的商业软件开发之路 --- C#基本语法-C#代码模块逻辑框架
- 推荐一些优秀的JavaScript开发框架
- php接口 接受ios或android端图片; php接收NSData数据
- Linux网络流量监控Iftop安装
- 安全扫描工具​Nmap引擎理解文档
- 《Linux Shell脚本攻略》读书笔记第五章 一网情深
- 【转】.NET NPOI操作Excel常用函数
- ”System.Configuration.ConfigurationSettings.AppSettings“ 已过时----解决方案