void showInfo1(char *buf)
{
char gps_str[];// ="$GPGGA,031105.000,4003.9196,N,11620.5765,E,1,05,3.4,109.0,M,-6.4,M,,0000*4A\r\n";
sprintf(gps_str,"%s",buf);
nmeaINFO info; // nmea协议解析结果结构体
nmeaPARSER parser; // nmea协议解析载体
nmeaPOS dpos; nmea_zero_INFO(&info); // 填入默认的解析结果
nmea_parser_init(&parser); // 为解析载体分配内存空间 // 调用函数完成GPS信息解析,最终结果保留于info数组中
if( (nmea_parse(&parser, gps_str, (int)strlen(gps_str), &info)) > )
{
nmea_info2pos(&info, &dpos);
printf("longitude %.5f\r\n",info.lon);
printf("latitude %.5f\r\n",info.lat);
printf("speed %.2f\r\n",info.speed);
printf("\r\n");
printf("longitude %10.8f\r\n",nmea_radian2degree(info.lon));
printf("latitude %10.8f\r\n",nmea_radian2degree(info.lat));
printf("longitude %10.8f\r\n",nmea_radian2degree(dpos.lon));
printf("latitude %10.8f\r\n",nmea_radian2degree(dpos.lat));
} nmea_parser_destroy(&parser); // 释放解析载体的内存空间
} void showInfo_GPGGA(char *buf)
{
char gps_str[];// ="$GPGGA,031105.000,4003.9196,N,11620.5765,E,1,05,3.4,109.0,M,-6.4,M,,0000*4A\r\n"; sprintf(gps_str,"%s",buf);
nmeaINFO info; // nmea协议解析结果结构体
nmeaGPGGA pack;
nmeaPOS dpos; nmea_zero_INFO(&info); // 填入默认的解析结果
nmea_zero_GPGGA(&pack);
// 调用函数完成GPS信息解析,最终结果保留于info数组中
if( (nmea_parse_GPGGA(gps_str, (int)strlen(gps_str), &pack)) > )
{
nmea_GPGGA2info(&pack,&info);
nmea_info2pos(&info, &dpos);
printf("GPGGA longitude %10.8f\r\n",nmea_radian2degree(dpos.lon));
printf("GPGGA latitude %10.8f\r\n",nmea_radian2degree(dpos.lat));
printf("GPGGA height_sea %10.8f\r\n",pack.elv);
printf("GPGGA height_ground %10.8f\r\n",pack.diff);
printf("GPGGA GPS_Num %2d\r\n",pack.satinuse);
}
} void showInfo_GPRMC(char *buf)
{
char gps_str[];// ="$GPGGA,031105.000,4003.9196,N,11620.5765,E,1,05,3.4,109.0,M,-6.4,M,,0000*4A\r\n";
sprintf(gps_str,"%s",buf);
nmeaINFO info; // nmea协议解析结果结构体
nmeaGPRMC pack;
nmeaPOS dpos;
nmea_zero_INFO(&info); // 填入默认的解析结果
nmea_zero_GPRMC(&pack);
// 调用函数完成GPS信息解析,最终结果保留于info数组中
if( (nmea_parse_GPRMC(gps_str, (int)strlen(gps_str), &pack)) > )
{
nmea_GPRMC2info(&pack,&info);
nmea_info2pos(&info, &dpos);
//
printf("GPRMC status %c\r\n", pack.status);
printf("DATE : %4d-%02d-%02d \n",+pack.utc.year,pack.utc.mon+,pack.utc.day);
printf("TIME : %02d:%02d:%02d \n",pack.utc.hour+,pack.utc.min,pack.utc.sec);
printf("GPRMC longitude %10.8f\r\n %c",nmea_radian2degree(dpos.lon),pack.ns);
printf("GPRMC latitude %10.8f\r\n %c",nmea_radian2degree(dpos.lat),pack.ew);
printf("Speed : %10.4f Km/h\n",pack.speed);
printf("direction : %10.4f \n",pack.direction);
}
}

c语言 nmealib-0.5.3 学习 简单代码 ,供参考的更多相关文章

  1. LR C语言语句复习,几个简单代码

    嵌套循环 Action() { int i,j; ;i<=;i++) { ) beark; else lr_output_message("i=%d",i); ;j<= ...

  2. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  3. 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询

    目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...

  4. Redis:安装、配置、操作和简单代码实例(C语言Client端)

    Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...

  5. 20165312 C语言基础调查和JAVA学习展望

    C语言基础调查和JAVA学习展望 一.有关学习技能的经历 掌握一项技能,我认为最重要的是练习和认真程度. 我在上幼儿园的时候学过电子琴,上台表演过多次,但是三四年之后就半途而废了,后来小学毕业之后对钢 ...

  6. 【数据库】4.0 MySQL入门学习(四)——linux系统环境下MySQL安装

    1.0 我的操作系统是CentOS Linux release 7.6.1810  (Core) 系统详细信息如下: Linux version 3.10.0-957.1.3.el7.x86_64 ( ...

  7. Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文

    前言 之前也分享了不少自己的文章,但是对于 Flink 来说,还是有不少新入门的朋友,这里给大家分享点 Flink 相关的资料(国外数据 pdf 和流处理相关的 Paper),期望可以帮你更好的理解 ...

  8. 《C# 6.0 本质论》 - 学习笔记

    <C# 6.0 本质论> ========== ========== ==========[作者] (美) Mark Michaelis (美) Eric Lippert[译者] (中) ...

  9. Go语言核心36讲(Go语言基础知识一)--学习笔记

    01 | 工作区和GOPATH 从 Go 1.5 版本的自举(即用 Go 语言编写程序来实现 Go 语言自身),到 Go 1.7 版本的极速 GC(也称垃圾回收器),再到 2018 年 2 月发布的 ...

随机推荐

  1. 怎么处理Win10系统更新提示代码0x80070057的错误?

    在使用好系统重装助手重装了Win10系统后,由于每个用户的电脑配置不同,有些用户会在更新时出现0x80070057的错误代码.下面就教大家Win10系统更新出现0x80070057错误该怎么解决. W ...

  2. C# 设置鼠标光标位置

    C# 设置鼠标光标位置 using System.Drawing; using System.Runtime.InteropServices; namespace ZB.QueueSys.Common ...

  3. jquery进行each遍历时,根据条件取消某项操作

    示例代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  4. 四、vue基础--自定义组件

    1.语法:Vue.component("组件名字",{data,template}),代码如下: a. data: 必须是一个函数,有一个返回值.和vue里面的使用方法一样 b. ...

  5. Property or method "openPageOffice" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by

    Property or method "openPageOffice" is not defined on the instance but referenced during r ...

  6. 这些Winforms界面开发技巧你还没学会?OUT了

    DevExpress Winforms Controls内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpre ...

  7. 一个简单易上手的短信服务Spring Boot Starter

    前言 短信服务在用户注册.登录.找回密码等相关操作中,可以让用户使用更加便捷,越来越多的公司都采用短信验证的方式让用户进行操作,从而提高用户的实用性. Spring Boot Starter 由于 S ...

  8. oracle数据库GROUP BY 子句

    1.GROUP BY子句 在SELECT 列表中所有未包含在组函数中的列都应该包含在GROUP BY 子句中. 如下: SELECT deptno,AVG(sal) from emp GROUP BY ...

  9. 51Nod 1701 最后的机会

    1701 最后的机会 给定一字符串S,S非空,由小写字母组成,设v为S中元音字母的个数,c为辅音字母的个数."a", "e", "i", & ...

  10. elasticsearch各种服务链接

    查看elasticsearch信息http://localhost:9200/ 查看某个索引信息http://localhost:9200/index_name例如:http://localhost: ...