GPS外场数据与电脑的数据通讯.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GPS外场数据与电脑的数据通讯   摘要:该文介绍了GPS的数据采集格式和在Windows环境下,用VC++6.0开发基于Windows消息机制的多线程的GPS应用程序,并简要给出了说明实例。   关键词:GPS;数据格式;串行通信;多线程   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2143-02   GPS的中文简要含义是“全球定位系统”,是英文Navigation Satellite Timing andRanging/Global Postioning System的缩写词NAVSTAR/GPS的简称,是在美国联合计划局领导下诞生的方案,成为继阿波罗登月计划之后的第三项庞大空间计划。它从根本上解决了人类在地球上的导航和定位问题。   对于用户来说,最重要的关键设备就是用户接收机(GPS接收机)。很多情况下,用户都是用计算机和GPS接收机通信,将GPS信息导入计算机然后再处理。而VC由于其在和GPS接收机的通信及后面的数据处理应用方面的强大威力,成为许多用户开发GPS应用程序的首选开发语言。该文将介绍利用VC编写计算机与GPS接收机的通信和Windows消息的传递   及多线程的GPS应用程序。      1 GPS用户端的数据录取及数据输出格式      GPS数据传送分为同步串行传送和异步串行传送。在计算机与GPS通讯进行数据传送时,都采用异步串行传送方式。GPS作为数据终端设备(DTE)与计算机(DCE)之间利用D型RS 232C电缆接口进行数据交换。从数据输出形式来看,GPS的输出分为两类:二进制码与十进制ASCII码。   二进制码是用0和1表示的编码。此种编码虽然不直观,但运算方便,在计算机中应用非常普遍。目前通用的字长为8位,可用两位16进制数表示。在编码时,一个二进制数由小数点向左,每4位一分,不足4位前面补0,组成整数部分。由小数点向右,每4位一分,不足4位前面补0,组成小数部分。输出/输入二进制数据流的格式是低字节/高字节排列,每一个字节的输出次序是从最低有效位到最高有效位。GPS的原始观测量、星历以及其他数据都采用了二进制编码。为了满足异步串行通讯的要求,每一组数据须包含三个部分:字头块、数据块和结束符。字头块包括电文的标志和语句名。数据块包括电文中的全部数据。结束符包括校验和与回车换行。各种GPS接收机的数据格式在总体结构上相同,但具体采用的符号、内容、字长等各不相同。因此,在编写软件之前,需知道此数据的具体结构。另外,在编写软件时,为了确保数据的传送和采集质量,必须进行校验和检验。   十进制码比较直观,易于识别和应用。GPS的统一标准格式NMEA 0183输出就采用ASCII码。其格式定义如下:   比特率:4 800 b/s;数据位:8 b;奇偶校验:无;开始位:1 b;停止位:1 b      2 基本串行通讯协议程序      2.1 初始化程序段   HANDLEm_ hComm;   m_ hComm = CreateFile (m_ sFileName, GENERIC_   READ| GENERIC_ WRITE,0,NULL,OPEN _EXISTING,   FILE_ ATTRIBUTE_ NORMAL,NULL);   (m sFileName一般取“com1”或“com2”,其他参数请参考MSDN,由于篇幅关系,这里不作详细介绍。)   BOOL SetupComm (HANDLE hFile, DWORD dwIn_Queue,DWORD dwOutQueue);   HFile取上面创建的串行通信句柄,dwInQueue,dwOutQueue分别是输入缓存和输出缓存的大小,一般取1000即可。   2.2 设置串行通讯环境   DCB dcb; SetCommState(m_ hComm,dcb);   DCB是串行通信设备的控制字,对GPS来说,要设置比特率、数据位、奇偶校验、开始位、停止位、还要设置RTS、DTR等串行通信协议。   2.3 设置串行通讯时限   COMMTIMEOUTS commtimeouts; SetCommTimeouts(m_ hComm,commtimeouts);   COMMTIMEOUTS是一个结构,读和写的间隔字符的时间和总共的时间,单位是毫秒。通过上面的设置,就可以进行串口的读和写。   2.4 读、写串口程序   读语句:DWORD iLength; void* pBuffer; DWORD pReadFact; ReadFile (m_ hComm, pBuffer, iLength, pReadFact,NULL

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档