gps数据格式与分析

gps数据格式与分析

ID:35200329

大小:81.50 KB

页数:11页

时间:2019-03-21

gps数据格式与分析_第1页
gps数据格式与分析_第2页
gps数据格式与分析_第3页
gps数据格式与分析_第4页
gps数据格式与分析_第5页
资源描述:

《gps数据格式与分析》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、目前GPS(全球定位系统)定位应用市场日趋成熟,正在进入应用的高速发展时期。看到论坛里不断有人提问关于GPS的问题。现将个人对GPS的了解写出来跟大家一块探讨。1、GPS应用简介近年来GPS系统,已经在大地测绘、海上渔用、车辆定位监控、建筑、农业等各个领域得到广泛应用。从九十年代我国引进GPS定位技术开始,经过十多年的市场培育,GPS定位应用进入了发展的最好时机,未来十年基于GPS的应用将会改变我们的生活和工作方式。目前市场上的大部分GPS接受模块都是通过RS232串口与MCU进行数据传输的。这些数据包括经度、纬度、海拔高度、时间、卫星使用情况等基本信息。开发人员再依据这些基本数据

2、,进行数据处理来完成整套的定位系统软件。2、数据格式在进行数据接受编程之前,先介绍一下该模块的数据格式。它支持NMEA-0183输出格式。信息如下:GGA位置测定系统定位资料(GlobalPositioningSystemFixData)GSV导航卫星资料(GNSSSatellitesinView)RMC导航卫星特定精简资料(RecommendedMinimumSpecificGNSSData)VTG方向及速度等相关资料(CourseOverGroundandGroundSpeed)由于文章篇幅问题,笔者在这里只以接收GGA数据为例,格式如下:$GPGGA,hhmmss,dddmm

3、.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,,M,x.x,xxxx*CS例:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F说明见表:上面例子中,我们可读出位置信息:北纬24度46.5241分,西经121度00.1536分格林威治时间:3点37分44秒3部分程序代码(c++)//初始化串口//入口:strComm(串口名)//返回:TRUE(成功);FALSE(失败)BOOLCGPSDlg::InitComm(CStringstrComm){inti;DCBdcb;COMMTIM

4、EOUTSTimeOuts;for(i=0;i<3;i++)//串口最多初始化3次{m_hComm=CreateFile(strComm,GENERIC_READ

5、GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);if(m_hComm!=INVALID_HANDLE_VALUE)break;}if(i==3)//串口初始化失败{AfxMessageBox("串口初始化失败...");returnFALSE;}SetupComm(m_hComm,MAXLENGTH,MAXLENGTH);//设置发送接收缓冲区大小TimeOuts.ReadInter

6、valTimeout=0;//设定5个超时参数TimeOuts.ReadTotalTimeoutMultiplier=0;TimeOuts.ReadTotalTimeoutConstant=500;TimeOuts.WriteTotalTimeoutMultiplier=0;TimeOuts.WriteTotalTimeoutConstant=500;SetCommTimeouts(m_hComm,&TimeOuts);//设置超时参数GetCommState(m_hComm,&dcb);//获得通信状态dcb.fAbortOnError=FALSE;//有错误不停止dcb.Bau

7、dRate=CBR_4800;//波特率4800dcb.ByteSize=8;//8位dcb.Parity=NOPARITY;//奇校验dcb.StopBits=ONESTOPBIT;//1位停止位SetCommState(m_hComm,&dcb);//设置通信状态PurgeComm(m_hComm,PURGE_TXCLEAR

8、PURGE_RXCLEAR);//清空发送和接收缓冲区returnTRUE;}//获得GPS参数//注意:从GPS接收到的字符串已经在m_strRecv中,由于是定时接收,所以在这个字符串的头和尾都可能存在//不完整的NMEA输出字符串,在处理时要特别注意

9、//返回:TRUE(格式正确);FALSE(格式错误)BOOLCGPSDlg::GetGPSParam(){inti,j;CStringstr,strNEMA;//先判断是否接收到数据if(m_strRecv.IsEmpty())returnFALSE;//若字符串不是以'$'开头的,必须删掉这部分不完整的if(m_strRecv[0]!='$'){i=m_strRecv.Find('',0);if(i==-1)returnFALSE;//尾部未接收完整,必须等接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。