基于eVB的Comm控件的GPS通信的实现_第1页
基于eVB的Comm控件的GPS通信的实现_第2页
基于eVB的Comm控件的GPS通信的实现_第3页
基于eVB的Comm控件的GPS通信的实现_第4页
基于eVB的Comm控件的GPS通信的实现_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、基于eVB的Comm控件的GPS通信的实现GPSGIS基于eVB的C0mm控件的GPS通信的实现TheImplementationofGPSwiththeCommControlbasedoneVB(1.北京国家农业信息化工程技术研究中心;2.西安科技大学)黄兴荣1-2潘瑜春1汪梅2Huang.XingrongPan,YuchunWang,MeiControI)控件实现GPs接收机与PocketPC之间串口的通信方法.首先介绍了GPS输出的数据格式,并对GPS通讯技术做了现代码;最后讨论了GPs通信中应注意的问题.关键字:eVB;Comm(MicrosoftCECommContro1);全球卫星

2、定位系统(GPS);通信中国分类号:TP393文献标识码:AAbstract:GPStechniqueiSabroadappliedinmultitudinousfields.Thispaperdiscussesthetechniqueaboutserialportcommunica.tionbetweenGPSandPocketPCwithComm(MicrosoftCECommControl1basedonWindowsCE3.0.First,theoutputdateformatofGPSiSpresentedaswellasthedescriptionaboutitscommunica

3、tiontechnique;ThenitdescribestheapplicationoftheCommcontrol,thestepsofrealizationandpartofcodesbasedoneVB3.0(MicrosofteMbeddedVisualBasic3.01arealsogiven;Atlast,itdiscussesthequestionsaboutthecommunicationofGPS.Keywords:eVB;Comm(MicrosoftCECommContro1);GlobalPositioningSystem(GPS);Communication1引言目前

4、,GPS技术已广泛的应用于各行业中,也广泛运用于我们这一项目的应用研究与开发中,以实现动态精确地获取农田小区影响作物生长环境的多源时接收机与PocketPC(掌上电脑)通信的问题,可利用微软提供的Win32通信API(ApplicationProgrammingInterface)函数,但API函数较复杂,编程要求较高;而利用eVB3.0的串行通信控件Comm可简化编程,可以利用Comm控件实现了GPS接收机与PocketPC的通信程序.2GPS通信技术GPS的输出格式分为两类:1)十进制ASCII码;2)规定:GPS信息通过ASCII语句输出,每条语句以一个黄兴荣:硕士研究生术应用研究与开发

5、l2003AA209080)'$'符号开始,以一个'<cR><LF>'序列结束,并且每条语句不能超过80个字符.每条语句中,数据域以逗为一条典型的NMEA一0183输出语句.表1GPS输出的ASCII格式解析SGPRMC.192456,4306.601.N,01225.974,E,10.8,0.0,030702.1.7.E,S22(CR刈B$语句头标志GPlGPS输出RMC语句l92456UTC_TIME小时制的标准时间,按照小哪分钟甩帕恪式:19:24:56A当前定位状态:A=有效.V=无效NN表示北纬,

6、S表示南纬EW表示西经,E表示东经10.8对地速度单位为节,1节(kot)=182m/hn0方位角:正北方向为.顺时针方向计算,最大,四位输出03O702日期:2002年7月3EtS22校验位RS232是美国电子工业联合会(EIA)制定的串行接口标准,常见的GPS接收机和PocketPC通信采用的是串行通信,因此GPS接收机实际是和PocketPC口.每只管脚有其功能与信号流动的方向,其意义和GPS接收机传输有关.表1显示了RS232各个管脚的意义和信号的方向田自控罔邮局订阅号.82_94636o元,年_187GPSGlS中文核J期刊<微计算机信息>(管控一体化)2

7、006年第22卷第2-3期表2R5232管脚方向及意义管脚倘写方向意义引脚1CDPoctPCPS载波侦测(CartierDetect)引脚2RXDPocketPC?S接收数据(Receive)引脚3TXDPocketPC>GPS传送数据CrransmiO引脚4DTRPocketPC>GPS数据端各妥(DataTerminalReady)引脚5GNDPocketPC-GPS接地端(Ground)引脚6DSRPoctpC<GPS数据备妥fDataSetReady)引脚7IH'SPocketPC>GPS要求发送(RequestToSen

8、d)引脚8PocketpC娟PS清除以发送(ClearToSend)引脚9RIPocketHPS响铃检测(RingIndicator)GPS接收机通过接收卫星信号解算出自身位置,PocketPC通过RS232串行通信接口直接连接,如图1所示.图lGPS和PocketPC通信连接图3Comm控件的应用Comm控件通过串行接口传输和接收数据,为应十分方便,不必利用较为复杂的API函数来编写程序.Comm有两种通信处理方式:事件驱动方式和查询方式.事件驱动(Eventdriven)通讯是处理串行端口通信的一种非常有效的方法.在许多情况下,在事件发生时需要得到通知,例如,在串El接收缓冲区中有字符,或

9、者CarrierDetect(CD)或RequestToSend(RTS)线上一以利用Comm控件的CommEvent属性在通信错误或错误的列表,参阅CommEvent属性.在编程过程中,就可以在OnComm事件处理函数中加入自己的处理代访问多个串行端口,必须使用多个Comm控件.查询方式实质上还是事件驱动,但应用程序不大能之后,可以通过检查CommEvent属性的值来轮询(Polling)事件和错误.如果应用程序较小,这种方法是可取的.主要的属性:1)CommPort:设置或返回通信连接端口号码,系时,其Value可以设置成1到16的相应的端口值.2)Settings:用于设置初始化参数,以

10、字符串的形式设置或返回联机速率,奇偶校验,数据位,停止位等4个参数,设置的格式为"BBBB,P'D,S",BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数.3)PortOpen:设置或返回通信连接端口的状态,也可以打开或关闭端口,true表示串口打开.4)Input:从接收缓冲区返回和删除字符.5)Output:将要发送的数据输入传输缓冲区.6)InputMode:设置发送或返回数据的类型,0表示文本的方式,1表示二进制的方式.7)Rthreshold:设置CommEvent属性为comEvRe符数,若Rthreshold属性设置为0(默认值)则不产生On

11、Comm事件.8)SThreshold:设置CommEvent属性为comEvSend并产生OnComm事件之前,设置并返回传输缓冲区中允许的最小字符数,若设置SThreshold属性为1,当传输缓冲区完全空时,Comm控件产生OnOnComm事件:9)CDHolding:通过查询CarrierDetect(CD)线的状态确定当前是否有传输.该属性在设计时无效,在运行时为只读.10)Inputln:设置并返回Input属性从接收缓冲区读取的字符数.该事件,这表示发生了一个通信错误或事件.4在VII中实现GPS通信程序通常,Comm控件并不出现在eVB3.0工具箱中.此时,需要选择Project

12、IComponents命令,打开Comtrol3.0控件.经过上述的3个步骤,工具箱中就会出现我们所需要的Comm控件,其图标为 标志;单击此图标并在窗体上拖动鼠标,即可在系统中加载入Comm控件,此时在窗体上出现一个标志为"Comm"的一188GPSGlS控件.具体通信编程时,其步骤一般为:1)初始化串口并打开串口;2)接收GPS数据;3)存储并提取出有用的"$GPRMC"的数据.部分代码如下:初始化串口PrivateSubFormLoad0Colnm1.InputMode=0设置数据类型Comm1.CommPort=I端口设置Comm|.Settin

13、gs="4800,8,n,1"串口参数设置Comm1.PortOpen=True打开串口EndSub接收GPS数据PrivateSubComm1OnComm0IfComm1.InBufferCount>0Then.txtReceive.Text=txtReceive.Text+Comm1.InputEndIfTimer1.Enabled=TrueEndSub存储GPS数据文件PrivateSubTimerl_Timer0建立GPS数据存储文件File1.Open"MyDocumentsGPSDatc.txt",一fsModeOutput,f

14、sAccessReadWrite,fsLockWriteFile1.LinePrint(txtReceivc.Text)Timer2.Enabled=TrueEndSub提取有用的GPS数据(前缀为"$GPRMC"的数据)PrivateSubTimer2_Timer0txtPickUp.Text='DimSAsStringFile1.Open"MyDocumentsGPSDate.txt",一fsModelnput,AccessRead,fsLockWriteIfLeft(s,6):"$GPRMC"Then提取数据前缀为&qu

15、ot;$GPRMC"的GPS数据txtPickUp.Text-txtPickUp.Text+s+Chr(13)EndIfLoopEndSub5GPS通信中应注意的问题GPS接收机与PocketPC机通信中,一定要正确设置Comm控件的Setting属性中的通信速率,否则不特率来设置.在实际应用中往往根据需要对其做进一步的运治时间,因此在其获取时间上加上8小时转化为北京时差;又如GPS使用的WGS84坐标系通常也需转化成我国采用的BJ54大地坐标系.的全部信息,仅需要从中选择所需的那部分的定位数据,这要求我们采用多线程编程,用读线程来将串口数据读入内存,利用其他线程来处理GPS数据以提

16、高系统的并行能力.6结束语GPS通信是通信中常用的技术,通过基于eVB的Comm控件的编程可以快速,简便的实现GPS与PocketPC通信编程,可以将GPS定位导航信息从GPS接收机完整接收并加以提取出有用的数据.PocketPC接收到这些数据后,可以结合GIS,RS等,为制定农田数字化精准生产管理方案提供数据支持.参考文献:中的应用【J1.微计算机信息,2005,3:190192作者简介:黄兴荣(1972一),男,硕士研究生,主要从事M;(100089北京国家农业信息化工程技术研究中心)黄兴荣潘瑜春(710054西安西安科技大学电控学院)黄兴荣汪梅(NationalEngineeringResearchCenterforInfor?mationTechnologyinAgriculture,Beijing,China,100089)Huang,XingrongPan,Yuchun(SchoolofElectricalandControlEngineering,XianUn

温馨提示

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

评论

0/150

提交评论