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. Java&Selenium数据驱动【DataProvider+TestNG+Csv】

    Java&Selenium数据驱动[DataProvider+TestNG+Csv] package testNGWithDataDriven; import java.io.Buffered ...

  2. bitset 来计算位

    在stl中提供了 bitset<N> 来计算位,非常方便. 尤其是计算键盘的状态时游泳 ; bitset<> bs = s; cout<<bs[]<<e ...

  3. Checklist的补充规则

    常见问题: 1.什么时候该补充Checklist? 2.Checklist应该写哪些用例? 3.自己写的模块是否自己执行? 4.什么时候执行Checklist? 5.执行完Checklist大概需要花 ...

  4. [codeforces][dp]

    链接:https://ac.nowcoder.com/acm/problem/21314来源:牛客网 题目描述 牛牛正在打一场CF 比赛时间为T分钟,有N道题,可以在比赛时间内的任意时间提交代码 第i ...

  5. 【专题】Spring Boot 2.x 面试题

    1.Spring Boot.Spring MVC 和 Spring 有什么区别? SpringFramework 最重要的特征是依赖注入.所有 SpringModules 不是依赖注入就是 IOC 控 ...

  6. Java中通过Array.sort()对数组从大到小排序

    package com.itheimajavase; import java.util.Arrays; import java.util.Comparator; public class Day01 ...

  7. PHP mysqli_character_set_name() 函数

    返回数据库连接的默认字符集: <?php $con=mysqli_connect("localhost","my_user","my_passw ...

  8. 029_检测 MySQL 数据库连接数量

    #!/bin/bash#本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置为开机启动脚本,或在特定时间段执行#以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常#本 ...

  9. 2019CCPC-江西省赛C题 HDU6569 GCD预处理+二分

    Trap Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Subm ...

  10. laotech老师唠科mac 深入浅出MAC OS X

    laotech老师唠科mac 深入浅出MAC OS X http://study.163.com/plan/planLearn.htm?id=1637004#/learn/resVideo?lesso ...