物联网综合课程设计-高度测量.doc_第1页
物联网综合课程设计-高度测量.doc_第2页
物联网综合课程设计-高度测量.doc_第3页
物联网综合课程设计-高度测量.doc_第4页
物联网综合课程设计-高度测量.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:物联网综合课程设计综合课程设计 课程设计题目:高度测量 院(系):计算机学院 专 业:计算机科学与技术(物联网技术方向) 班 级: 学 号: 姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要 求;数据不实求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。不予通过。报告和电子数据必须作为实验现象重复的关键依据。 沈阳航空航天大学课程设计报告 I 学术诚信声明 本人声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指 导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别 加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表 或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一 同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明 并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本 教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后 果。 本人签名: 日期: 年 月 日 沈阳航空航天大学课程设计报告 II 沈阳航空航天大学沈阳航空航天大学 课课程程设设计计任任务务书书 课程设计名称物联网综合课程设计专业 计算机科学与技术(物联网技术方向) 学生姓名蔡新建班级34010105学号2013040101216 题目名称高度测量 起止日期 2016 年 12 月 19 日起至 2017 年 1 月 13 日止 课设内容和要求: 一 课程设计内容 1. 采集 GPS 模块的信息; 2. 将高度信息传送到计算机; 3. 在计算机上显示高度信息。 二 课程设计要求 1 认真查阅相关资料; 2 独立设计,调试并通过指导老师现场验收; 3 撰写课程设计报告 ; 参考资料: 1 青岛东合信息技术有限公司. 无线传感器网络技术原理及应用M. 西安: 西安电子科技大学出版社,2013 2 凌阳爱普科技有限公司. 物联网多网技术综合教学开发平台实验指导书 M,2013 3 王小强,欧阳俊,黄宁淋. ZigBee 无线传感器网络设计与实现M. 北京: 化学工业出版社,2012 教教研研室室审审核核意意见见:【 】同意立题,【 】不同意 教教研研室室主主任任签签字字: 指导教师(签名)指导教师(签名) 2016年12月 19日 学生签名学生签名2016年12月19日 沈阳航空航天大学课程设计报告 III 课程设计总结:课程设计总结: 本次课设中主要用到了 Linux 操作系统的基本操作、嵌入式 C 语言的编程、 数据通信等知识,虽然以前修过相关课程,但是没有应用到实际实践中,通过查 阅相关资料和网络论坛的讲解,我对原来学的知识有了更深刻的理解。最终在老 师的指导和同学的帮助下,如期完成了课程设计内容。 本次课程设计是与 GPS 相关的物联网技术,本学期曾选修过一门 GPS 课程, 因为是选修课所以学的并不好,现在通过课程设计使自己对 GPS 的相关知识更加 了解,同时在查阅相关资料的同时,还翻看了一些关于中国北斗卫星系统的知识, 心中有一种自豪感,为我伟大的祖国感到自豪。 本次课程设计使用的源代码是在课上实验代码的基础上进行编写的,通过查 看 CSDN 上的相关博客,是自己慢慢理解代码并进行了修改。开始的时候代码运行 总是不能出现预期结果,相似课设题目的同学猜测是实验箱的问题,也有说是 GPS 模组的问题,后来我们一步一步的调试,跟换实验箱和 GPS 模组,最终实现 了课设要求的功能,在整个过程中最大的收获就是遇到困难要不断的想解决方案, 一步一簇进行调试排除问题,而不是放弃。 在整个课设中,不仅加深了对已修课程的理解,也增强了动手实践能力,同 时体会到了编程调试过程中的快乐。 沈阳航空航天大学课程设计报告 IV 目目 录录 学术诚信声明学术诚信声明.I 第第 1 章章 总体设计方案总体设计方案.1 1.1 课程设计的内容和要求 .1 1.2 课程设计原理 .1 1.2.1 GPS 原理叙述:.1 1.2.2 NMEA 格式解释 .3 1.2.3GPS 模组电路.4 1.3 课程设计思路 .6 第第 2 章章 详细设计方案详细设计方案.7 2.1 课程设计环境搭建.7 2.1.1 Ubuntu 10.10 的安装.7 2.1.2 通过网线和串口将 PC 和 A8 实验箱进行连接 .8 2.1.3 GPS 模块的连接.10 2.1.4 软件设计与实现.10 2.2 实施方案.12 第第 3 章章 调试及结果分析调试及结果分析.14 3.1 调试.14 3.1.1 软件测试.14 3.1.2 硬件调试.14 3.2 结果.14 附附 录(关键部分程序清单)录(关键部分程序清单).16 沈阳航空航天大学课程设计报告 1 第 1 章 总体设计方案 1.1 课程设计的内容和要求课程设计的内容和要求 1.1.1 课程设计内容:课程设计内容: 1.文献检索,查阅资料了解凌阳 A8 实验箱和 GPS 模块的相关知识; 2.通过 GPS 模块采集相关的信息; 3.将 NMEA 回传给凌阳实验箱; 4.通过超级终端将解析出来的高度信息显示在计算机上。 1.1.2 课程设计要求:课程设计要求: 1.认真查阅相关资料; 2.独立设计,调试并通过指导老师现场验收; 3.撰写课程设计报告。 1.2 课程设计原理课程设计原理 1.2.1GPS 原理叙述:原理叙述: GPS(全球定位系统)是美国从本世纪 70 年代开始研制,历时 20 年,耗资 200 亿美元,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫 星导航与定位系统。 GPS 在空间中有 21 颗工作卫星 3 颗备用卫星,在地面上有 1 个主控站, 3 个注入站, 5 个监测站组成,用户通过设备接收 GPS 卫星发射的卫星信号获得 导航和定位信息,经过数据解析和处理获取高度,经纬度等信息。 GPS 具有如下特性: 1) 全球,全天候工作:能为用户提供连续、实时的三维位置、三维速度和 精密时间。不受天气的影响。 2) 定位精度高:单机定位精度优于 10 米;采用差分定位精度可达厘米或 沈阳航空航天大学课程设计报告 2 毫米级。 3) 功能多,应用广:目前已广泛应用于大地测量、工程测量、航空摄影测 量、运载工具导航和管制、地壳运动监测、工程变形监测、资源勘察、 地球动力学等学科领域。 GPS 由三个独立的部分组成: 空间部分:21 颗工作卫星,3 颗备用卫星。 地面支撑系统:1 个主控站,3 个注入站,5 个监测站。 用户设备部分:接收 GPS 卫星发射信号,以获得必要的导航和定位信息, 经数据处理,完成导航和定位工作。GPS 接收机硬件一般由主机、天线和电源组 成。 图图 GPS 全球定位示意图全球定位示意图 GPS 定位的基本原理:根据高速运动的卫星瞬间位置作为已知的数据,采用 空间距离后方交会的方法,确定待测点的位置。假设 t 时刻在地面待测点上安置 GPS 接收机,可以测定 GPS 信号到达接收机的时间t,再加上接收机所接收 到的卫星星历等数据可以确定以下四个方程式: 沈阳航空航天大学课程设计报告 3 上述四个方程式中待测点坐标 x、y、z 和 V t0 为未知参数,其中 di=cti (i=1、2、3、4)。di (i=1、2、3、4) 分别为卫星 1、卫星 2、卫星 3、卫星 4 到接收机之间的距离。ti (i=1、2、3、4) 分别为卫星 1、卫星 2、卫星 3、卫星 4 的信号到达接收机所经历的时间。c 为 GPS 信号的传播速度(即光 速) 。 四个方程式中各个参数意义如下: x、y、z 为待测点坐标的空间坐标。xi 、yi 、zi (i=1、2、3、4) 分别为 卫星 1、卫星 2、卫星 3、卫星 4 在 t 时刻的空间坐标,可由卫星导航电文获 得。Vti (i=1、2、3、4) 分别为卫星 1、卫星 2、卫星 3、卫星 4 的卫星钟的 钟差,由卫星星历提供。Vto 为接收机的钟差。由以上四个方程即可计算出待测 点的坐标 x、y、z 和接收机的钟差 Vto 。 1.2.2 NMEA 格式解释格式解释 GPS 模块返回的位置信息是按照 NMEA 协议格式,NMEA 是一套定义接收机输 出的标准信息,有几种不同的格式,每种都是独立相关的 ASCII 格式,逗点隔开 数据流,数据流长度从 30-100 字符不等,通常以每秒间隔选择输出,通常的的 格式为GP开头,它包含了定位时间,纬度,经度,高度,定位所用的卫星数, 其他的有速度,跟踪,日期等。NMEA-0183 协议定义的语句非常多,但是常用的 或者说兼容性最广的语句只有 $GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL 等,说明如下: 沈阳航空航天大学课程设计报告 4 $GPGGA(定位信息) eg:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000 *1F GPGSA(当前卫星信息) eg:$GPGSA,A,3,01,20,19,13,40.4,24.4,32.2*0A $GPGSV(可见卫星信息) eg:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,13,32,252,45*70 $GPVTG(地面速度信息) eg:$GPVTG,89.68,T,M,0.00,N,0.0,K*5F $GPGLL(地理定位信息) $GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D 其中 GPGGA 的格式如下: $GPGGA,M,M,*hh UTC 时间,hhmmss(时分秒)格式 纬度 ddmm.mmmm(度分)格式(前面的 0 也将被传输) 纬度半球 N(北半球)或 S(南半球) 经度 dddmm.mmmm(度分)格式(前面的 0 也将被传输) 经度半球 E(东经)或 W(西经) GPS 状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算 正在使用解算位置的卫星数量(0012) (前面的 0 也将被传输) HDOP 水平精度因子(0.599.9) 海拔高度(-9999.999999.9) 地球椭球面相对大地水准面的高度 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将 为空) 差分站 ID 号 00001023(前面的 0 也将被传输,如果不是差分定位将为空) 沈阳航空航天大学课程设计报告 5 1.2.3GPS 模组电路模组电路 GPS 模组的电路如下图所示,该模组采用 APM7101 主芯片,它集成了 SiRFstarIII GPS 处理器,LNA 电路,SAW 滤波器,振荡和校准电路;模组引出 了 UART 通信接口和复位接口。 图图 GPSGPS 模组电路图模组电路图 GPS 模组具有以下特性: 1. 20 个通道接收 2. 弱信号下快速 TTFFs(Time to First Fix) 沈阳航空航天大学课程设计报告 6 3. 两个 UART 收发通道 4. 接收灵敏度可达-159dBm 5. 支持 NMEA-0183 和 SiRF 协议 6. 支持 SBAS(WAAS、EGONS) GPS 模块带有一个 10 针的接口,该接口可以直接和 MCU 相连接或者通过 RS232 转换模块和 PC 机相连接使用。 GPS 模块需通过 MCU 向 GPS 模块的 RST(Pin2)引脚输入如图所示的上电 时序 GPS 才能被启动,启动后 GPS 的信号指示灯会周期闪烁。 图图 GPSGPS 模块启动时序图模块启动时序图 GPS 启动后会间隔一定时间返回一次接收信息,其返回信息包括:GGA(1sec) / GSA(1sec) / MC(1sec) / GSV(5sec),通常我们仅关注其中 RMC 信息。 1.3 课程设计思路课程设计思路 根据课程设计题目要求,首先要对实验箱和 PC 机以及 GPS 模块进行连接, 并对通信传输速率以及 IP 进行设置,其次要在 PC 机上对实验程序进行编辑,并 复制到 Ubuntu 系统中,最后将在 Ubuntu 系统下编译的文件下载到 A8 实验箱, 使其运行显示结果。 沈阳航空航天大学课程设计报告 7 第 2 章 详细设计方案 2.1 课程课程设计环境搭建设计环境搭建 嵌入式开发环境一般为 Linux 环境,通常的嵌入式系统的软件开发采用一种 交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台 PC 机)上,对 应的开发板叫做目标板。宿主机和目标板的处理器一般不相同,宿主机为 x86 处理器,而目标板如凌阳的 A8 实验箱为三星 S5PV210,其为 ARM A8 架构的处 理器。 GNU 编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主 机和目标机从而建立开发环境。所以在进行嵌入式开发前第一步的工作就是要安 装一台装有指定操作系统的 PC 机作宿主开发机,对于嵌入式 Linux,宿主机上 的操作系统一般要求为 Linux 的各种发行版,本次课程设计采用 Ubuntu10.10, 同时安装 gcc 交叉编译器。环境搭建流程如图: 安装Vmware Player 添加Linux虚拟机镜像 打开虚拟机 烧写U-boot 烧写系统Kernel 烧写根文件系统 2.1.1 Ubuntu 10.10 的安装的安装 嵌入式 Linux 的 PC 开发环境有几个方案: 1. 基于 PC 机 Windows 操作系统下 Cygwin 2.在 Windows 下安装虚拟机后,再在虚拟机中安装 Linux 操作系统 3.直接安装 Linux 操作系统 以上三种方案各有千秋,方案一容易存在兼容性问题;方案二在 PC 配置比 较低的情况下会比较慢,但是既可以使用 Windows 上的一些软件又可以使用到 比较好的 Linux 环境,熟悉 Windows 的用户用此方案比较顺手;方案三无法使 沈阳航空航天大学课程设计报告 8 用 Windows 上的一些常用软件,并且不熟悉的人操作起来比较困难。签于此笔 者建议初学者选择方案二。 方案二首先要在 Windows 上安装一个虚拟机软件,常用的虚拟机软件为 Vmware。然后再在 Vmware 上安装 Ubuntu 10.10。在安装完 Ubuntu 10.10 后还 要安装嵌入式 Linux 的交叉编译器和开发库以及 ARM-Linux 的所有源代码,这 些包安装后的总共需要空间大约为 800M。 2.1.2 通过网线和串口将通过网线和串口将 PC 和和 A8 实验箱进行连接实验箱进行连接 通过操作 PC 机的超级终端登陆实验箱的系统,通过网线连接是有两种方案: 1. 实验箱的以太网接口与 PC 的网卡直接相连。 2. 将实验箱与路由器相连。 当在实验室通过方案 2 连接 PC 机和 A8 实验箱时,容易出现 ip 冲突等问题, 所以直接将用网线将实验箱的以太网接口和 PC 的网卡直接相连。此时需要将 A8 实验箱和 PC 机设置在同一网段才能正常通信。具体步骤如下: 1) 通过超级终端建立连接并登陆到 A8 实验箱的系统中(账号:root,密码: 111111) 登陆成功登陆成功 2)对 A8 实验箱的 IP 进行配置,并重启网络服务器。 (主要用到的 Linux 语 句:ipconfig eth0 -i 00 -m -g 和 service network restart) 沈阳航空航天大学课程设计报告 9 更改更改 IPIP 并重启网络服务器并重启网络服务器 3)更改主机电脑的 IP(注意将宿主机和实验箱 IP 设置在同一网段) 更改宿主机更改宿主机 IPIP 沈阳航空航天大学课程设计报告 10 2.1.3 GPS 模块的连接模块的连接 实验箱引出了 GPS 接口 J33,直接把 GPS 模组插接到该接口上,即可实现 对 GPS 模组的控制。其中 GPS 模组的复位信号由实验箱 GPJ4_0 来控制,通信 由实验箱的 UART2 来完成。按照 APM7101 的通讯要求,UART 通讯波特率为 4800 或者 9600bps。 2.1.4 软件设计与实现软件设计与实现 软件实现是本设计的重点,使用的是嵌入式 C 语言编程,采用模块化的设 计思想,根据系统要求和相关的硬件电路。 本设计中,程序首先通过 GPJ4_0 输出 GPS 模组开启所需时序,从而打开 GPS 模组,接下来即可通过 UART2 等待从 GPS 模组中读取 GPS 信息,并将这 些这些信息进行解析,即可得到所需信息。本设计的程序流程如下图所示: 沈阳航空航天大学课程设计报告 11 图图 软件程序流程图软件程序流程图 具体的软件程序流程为: 1. 打开 Linux 下相应的设备挂载点,开启 GPS 模块并进行初始化。本设 计中,程序通过 GPJ4_0 输出 GPS 模组开启所需时序,从而打开 GPS 模组,接下来可通过 UART2 等待从 GPS 模组中读取 GPS 信息,并 将这些信息进行解析,即可得到所需信息。 2. 打开并设置 UART2 属性。为了实验箱能够正确地与 PC 进行通信,必须 按照制定要求格式对通信串口进行初始化操作。本设计选择实验箱主电 路板上的 UART2 串口进行与 PC 的通信,并设置通信波特率为 115200、数据位为 8 位、无奇偶校验位、1 位停止位和无数据流控制。 具体实现过程可以通过向设备中发送起始信号,设备地址和写信号,然 沈阳航空航天大学课程设计报告 12 后发送内部寄存器的地址和数据,发送结束后便发送停止信号。 3. 读取 GPS 信息并解析。GPS 模组返回的信息遵循 NMEA 协议格式。 为了正确无误地读取 GPS 模组中返回的信息,我们必须按照 NMEA 消息格式对缓冲区中的消息进行读取并存储并通过函数 GetComma(int num,char *str) 得到指定序号的逗号位置,以解析各个定义段。基本 NMEA 指令是一个 ASCII 字符串,它以$字符开始、以 CRLF序列结束。NMEA 标准消息以“GP”开始,接着是三个 字符的消息标识码。消息头和后面的内容通过逗号进行分隔,消息以校 检码结束(校检码由一个*和两个 16 位的校验字组成。校验码字段 并不用逗号进行分隔。目前,校验码得到的方式是从$到*之间 的字符进行逐位计算。 ) 2.2 实施方案实施方案 1. 按照设计原理及设计思路在 PC 机上编写程序,保存成 .c 源代码文 件,并将文件拷贝到 Ubuntu 系统中。 沈阳航空航天大学课程设计报告 13 2. 在 Ubuntu 操作系统中打开一个终端,进入到源程序所在目录下, 在 Ubuntu 中进行交叉编译,运行命令行(通过 ls 查看查看到 GPS216 文件):arm-linux-gcc -o GPS216 GPS.c 3. 在 PC 机,通过 ftp 协议访问实验箱的 IP 地址,将编译好的 GPS216 文件传输到实验箱中。 4. 在超级终端中,赋予文件可执行权限并运行。(授权语句:chmod +x GPS216) 沈阳航空航天大学课程设计报告 14 第 3 章 调试及结果分析 3.1 调试调试 3.1.1 软件测试软件测试 通过查找众多资料, 终于确定了整个设计方案, 即使用S5PV210 CPU板模块和GPS 模块作为本设计的核心芯片。 在参考了各种GPS解析函数和以上的电路原理后,开始进 行软件测试。 3.1.2 硬件调试硬件调试 当按照以上原理和要求连接调试后,发现并没有出现预期现象,甚至出现超级终端黑 屏现象,所以在课设源代码中设计了输出“此时的GPS信息为: ”以此判断GPS模组获取 合法信息,同时在经过不断的查阅资料后,发现GPS模组收到环境影响比较大,首先就 是需要将模组放在里窗比较近的位置才能获得相应的GPS信息。根据GPS的运行原理,课 设结果会受到天气环境的影响,比如空气的湿度,大气层的云层厚度等因素,所以课 设结果会有些许偏差 。 3.2 结果结果 当根据实验原理设计并运行后,超级终端可以出现如下实验结果: 沈阳航空航天大学课程设计报告 15 参考文献 1 青岛东合信息技术有限公司. 无线传感器网络技术原理及应用M. 西安: 西安电子科技大学出版社,2013 2 凌阳爱普科技有限公司. 物联网多网技术综合教学开发平台实验指导书M, 2013 3 王小强,欧阳俊,黄宁淋. ZigBee 无线传感器网络设计与实现M. 北京: 化学工业出版社,2012 4 凌阳爱普科技有限公司. A8 实验箱综合教学开发平台实验指导书M,2013 5 王毓银.数字电路逻辑设计.高等教育出版社,1999 6 梁德厚.数字电路技术及应用.机械工业出版社,2004 7 杨松华.数字电子技术基础.西安电子科技大学出版社,2000 沈阳航空航天大学课程设计报告 16 附 录(关键部分程序清单) #include #include #include #include #include #include #include #include #include #include #include typedef struct int year; int month; int day; int hour; int minute; int second; char time_c10;/ACSII 形式的时间 date_time; typedef struct date_time D;/时间 沈阳航空航天大学课程设计报告 17 char status; /接收状态 double latitude; /纬度 char latitude_c11;/ASCII 形式的纬度 double longitude; /经度 char longitude_c11;/ASCII 形式的经度 char NS; /南北极 char EW; /东西 double speed; /速度 char speed_c10;/ASCII 形式的速度 double high; /高度 GPS_INFO; int GPS_Read(int fd, char *Data_Buff, int len); int GetComma(int num,char* str); void UTC2BTC(date_time *GPS); double Get_Double_Number(char *s); void Get_Char(char *s); char buf_t128; int main() struct termios options, oldoptions; / 定义串口属性结构体变量,其中 options 用于重新设置串口属性, oldoptions 用于原设置,用于恢复到原来的属性 GPS_INFO GPS; unsigned int Degree = 0; float Cent; char buf1024; int len = 1024; int nByte; 沈阳航空航天大学课程设计报告 18 int rdadByte; int i=0; int fd; fd = open(/dev/gpJ4, O_RDWR);/ open GPJ4 ioctl(fd, 0 x01, 0); / set GPJ4_0 output ioctl(fd, 0 x10, 0); / GPJ4_0 output low level usleep(30000); ioctl(fd, 0 x11, 0); / GPJ4_0 output high level fd = open(/dev/s3c2410_serial2, O_RDWR); / open serial 2 tcgetattr(fd, / 获得当前的串口设置信息 tcgetattr(fd, cfsetispeed( / 设置输入波特率为 115200 cfsetospeed( / 设置输出波特率为 115200 options.c_cflag / 设置串口属性为:数 据位为 8 位,停止位为 1 位,无奇偶校验 options.c_cflag options.c_cflag |= CSTOPB; options.c_cflag options.c_cflag options.c_cflag |= CS8; options.c_lflag / 设置串口为 Raw 模 式 options.c_oflag tcsetattr(fd, TCSANOW, / 将上述设置生效 while(1) 沈阳航空航天大学课程设计报告 19 GPS_Read(fd, buf , len); if(GPS_Parse(buf, printf(日期: %d 年%02d 月%02d 日n,/ 显示日期 GPS.D.year,GPS.D.month,GPS.D.day); printf(此时的海拔高度为:%10.4f n,GPS.high); Degree = GPS.latitude/100;/ 计算纬度的度和分 Cent = GPS.latitude - (Degree * 100); printf(纬度: );/ 显示纬度 if(GPS.NS = N) printf(北纬(N)%d 度%lf 分 ,Degree,Cent); if(GPS.NS = S) printf(南纬(S)%d 度%lf 分 ,Degree,Cent); printf(n); Degree = GPS.longitude/100;/ 计算经度的度和分 Cent = GPS.longitude - (Degree * 100); printf(经度: );/ 显示经度 if(GPS.EW = E) printf(东经(E)%d 度%lf 分,Degree,Cent); if(GPS.EW = W) printf(西经(W)%d 度%lf 分,Degree,Cent); printf(nnn); 沈阳航空航天大学课程设计报告 20 /* * GPS_Read : read MSG from GPS module * */ int GPS_Read(int fd, char *Data_Buff, int len) int count = 0; int Flag = 0; while(Flag=0) read(fd, Data_Buff, 1); if(*Data_Buff = n) Flag = 1; count = 0; Data_Buff+; return 0; /* * GPS_Parse : change MFS from GPS to sturct GPS_INFO * */ int GPS_Parse(const char *line,GPS_INFO *GPS) int tmp; char c; 沈阳航空航天大学课程设计报告 21 char* buf ; buf = (char *)line; c=buf5; if(c=C)/GPRMC GPS-D.hour =(buf 7-0)*10+(buf 8-0); GPS-D.minute =(buf 9-0)*10+(buf10-0); GPS-D.second =(buf11-0)*10+(buf12-0); tmp = GetComma(9,buf); GPS-D.day =(buftmp+0-0)*10+(buftmp+1-0); GPS-D.month =(buftmp+2-0)*10+(buftmp+3-0); GPS-D.year =(buftmp+4-0)*10+(buftmp+5-0)+2000; Get_Char( strcpy(GPS-D.time_c,buf_t); /- GPS-status =bufGetComma(2,buf); #define ddd GPS-latitude =Ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论