⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 基于mscomm控件的gps接收机数据终端接口设计 - 硬件设计 - 开发者社区.htm

📁 PC机与GPS的通信方案设计与程序
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0044)http://bbs.ee365.cn/viewthread.php?tid=25887 -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gbk">
<META 
content=ARM,驱动开发,Linux,WinCE,驱动,硬件,嵌入式系统,单片机,MCU,DSP,FPGA,EDA,无线,RF,Labview,电源 
name=keywords>
<META 
content=" 开发者社区  &#13;&#10;&#13;&#10;            &#13;&#10;              1 引 言&#13;&#10;              &#13;&#10;            全球定位系统(GPS)是20世纪70年代由美国陆海空三军联合研制的空间卫星导航定位系统,其 ... " 
name=description>
<META content=True name=MSSmartTagsPreventParsing>
<META http-equiv=MSThemeCompatible content=Yes><LINK title=开发者社区 
href="http://bbs.ee365.cn/archiver/" rel=archives><LINK 
href="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/style_1.css" type=text/css 
rel=stylesheet><LINK href="forumdata/cache/style_1_append.css" type=text/css 
rel=stylesheet>
<SCRIPT type=text/javascript>var IMGDIR = 'images/default';var attackevasive = '0';var gid = 0;gid = parseInt('3');var fid = parseInt('23');var tid = parseInt('25887');</SCRIPT>

<SCRIPT src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/common.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/menu.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/ajax.js" 
type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.2900.3268" name=GENERATOR></HEAD>
<BODY onkeydown="if(event.keyCode==27) return false;">
<DIV id=append_parent></DIV>
<DIV id=ajaxwaitid></DIV>
<DIV class=wrap>
<DIV id=header>
<H2><A title=开发者社区 href="http://bbs.ee365.cn/index.php"><IMG alt=开发者社区 
src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/logo.gif" border=0></A></H2>
<DIV id=ad_headerbanner></DIV></DIV>
<DIV id=menu>
<UL>
  <LI><A class=notabs href="http://bbs.ee365.cn/register.php">注册</A> </LI>
  <LI><A href="http://bbs.ee365.cn/logging.php?action=login">登录</A> </LI>
  <LI><A href="http://bbs.ee365.cn/member.php?action=list">会员</A> </LI>
  <LI><A href="http://bbs.ee365.cn/tag.php">标签</A> </LI>
  <LI class=dropmenu id=stats onmouseover=showMenu(this.id)><A 
  href="http://bbs.ee365.cn/stats.php">统计</A> </LI>
  <LI><A href="http://bbs.ee365.cn/faq.php">帮助</A> </LI></UL></DIV>
<SCRIPT src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/viewthread.js" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>zoomstatus = parseInt(1);</SCRIPT>

<DIV id=foruminfo>
<DIV id=nav><A href="http://bbs.ee365.cn/index.php">开发者社区</A> &raquo; <A 
href="http://bbs.ee365.cn/forumdisplay.php?fid=23">硬件设计</A> &raquo; 
基于MSComm控件的GPS接收机数据终端接口设计 </DIV>
<DIV id=headsearch></DIV></DIV>
<DIV id=ad_text></DIV>
<DIV class=pages_btns>
<DIV class=threadflow><A 
href="http://bbs.ee365.cn/redirect.php?fid=23&amp;tid=25887&amp;goto=nextoldset">&#8249;&#8249; 
上一主题</A> | <A 
href="http://bbs.ee365.cn/redirect.php?fid=23&amp;tid=25887&amp;goto=nextnewset">下一主题 
&#8250;&#8250;</A></DIV><SPAN class=postbtn id=newspecial 
onmouseover="$('newspecial').id = 'newspecialtmp';this.id = 'newspecial';showMenu(this.id)"><A 
href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra="><IMG 
title=发新话题 alt=发新话题 
src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/newtopic.gif" 
border=0></A></SPAN> <SPAN class=replybtn><A 
href="http://bbs.ee365.cn/post.php?action=reply&amp;fid=23&amp;tid=25887&amp;extra="><IMG 
alt="" src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/reply.gif" 
border=0></A></SPAN></DIV>
<UL class="popupmenu_popup newspecialmenu" id=newspecial_menu 
style="DISPLAY: none">
  <LI><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=">发新话题</A> 
  </LI>
  <LI class=poll><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=1">发布投票</A> 
  </LI>
  <LI class=trade><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=2">发布商品</A> 
  </LI>
  <LI class=reward><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=3">发布悬赏</A> 
  </LI>
  <LI class=activity><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=4">发布活动</A> 
  </LI>
  <LI class=debate><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=5">发布辩论</A> 
  </LI>
  <LI class=video><A 
  href="http://bbs.ee365.cn/post.php?action=newthread&amp;fid=23&amp;extra=&amp;special=6">发布视频</A> 
  </LI></UL>
<FORM name=modactions method=post><INPUT type=hidden value=b420715e 
name=formhash> 
<DIV class="mainbox viewthread"><SPAN class=headactions><A class=notabs 
href="http://bbs.ee365.cn/viewthread.php?action=printable&amp;tid=25887" 
target=_blank>打印</A> </SPAN>
<H1>基于MSComm控件的GPS接收机数据终端接口设计 </H1>
<TABLE id=pid26933 cellSpacing=0 cellPadding=0 summary=pid26933>
  <TBODY>
  <TR>
    <TD class=postauthor><A name=lastpost></A><CITE><A class=dropmenu 
      id=userinfo26933 onmouseover=showMenu(this.id) 
      href="http://bbs.ee365.cn/space.php?uid=2" target=_blank>ankee</A></CITE> 
      <DIV class=avatar><IMG class=avatar alt="" 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/noavatar.gif"></DIV>
      <P><EM>超级版主</EM></P>
      <P><IMG alt="Rank: 8" 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/star_level2.gif"><IMG 
      alt="Rank: 8" 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/star_level2.gif"><IMG 
      alt="Rank: 8" 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/star_level1.gif"><IMG 
      alt="Rank: 8" 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/star_level1.gif"></P>
      <UL>
        <LI class=space><A title=ankee的个人空间 
        href="http://bbs.ee365.cn/space.php?uid=2" target=_blank>个人空间</A> </LI>
        <LI class=pm><A id=ajax_uid_26933 
        onclick="ajaxmenu(event, this.id, 9000000, null, 0)" 
        href="http://bbs.ee365.cn/pm.php?action=send&amp;uid=2" 
        target=_blank>发短消息</A> </LI>
        <LI class=buddy><A id=ajax_buddy_0 
        onclick="ajaxmenu(event, this.id, null, 0)" 
        href="http://bbs.ee365.cn/my.php?item=buddylist&amp;newbuddyid=2&amp;buddysubmit=yes" 
        target=_blank>加为好友</A> </LI>
        <LI class=offline>当前离线 </LI></UL></TD>
    <TD class=postcontent>
      <DIV class=postinfo><STRONG id=postnum_26933 title=复制帖子链接到剪贴板 
      onclick="setcopy('http://bbs.ee365.cn/viewthread.php?tid=25887&amp;page=1#pid26933', '帖子链接已经复制到剪贴板')">1<SUP>#</SUP></STRONG> 
      <EM onclick="$('postmessage_26933').className='t_bigfont'">大</EM> <EM 
      onclick="$('postmessage_26933').className='t_msgfont'">中</EM> <EM 
      onclick="$('postmessage_26933').className='t_smallfont'">小</EM> 发表于 
      2007-3-8 10:49&nbsp; <A 
      href="http://bbs.ee365.cn/viewthread.php?tid=25887&amp;page=1&amp;authorid=2">只看该作者</A> 
      </DIV>
      <DIV id=ad_thread2_0></DIV>
      <DIV class="postmessage defaultpost">
      <DIV id=ad_thread3_0></DIV>
      <DIV id=ad_thread4_0></DIV>
      <H2>基于MSComm控件的GPS接收机数据终端接口设计</H2>
      <DIV class=t_msgfont id=postmessage_26933>
      <P><BR>1 引 
      言<BR><BR>全球定位系统(GPS)是20世纪70年代由美国陆海空三军联合研制的空间卫星导航定位系统,其目的是为美国军方提供实时精确的定位、导航和授时等服务。通常GPS系统由3个部份组成:空间部分:包括24颗GPS卫星;地面控制部分:对GPS卫星实施监控;用户部分:接收来自GPS卫星的定位等信息,通常包括天线和接收机等设备。GPS系统在进行定位时,必须要确定用户所在的位置(包括x,y,z三个坐标),同时还要考虑到卫星时钟与接收机时钟之间的误差t,要解算4个未知量必须建立4个方程,通常可以通过测量卫星与-用户之间的伪距,来建立相应的方程,因此需要同时观测4颗卫星,才能实现精确定位。随着时代发展,GPS系统不再局限于美国军方,已被广泛应用于社会生活的各个方面,从大地测绘到车辆导航都能找到其身影。鉴于卫星导航技术在民用和军事领域的重要意义,我国也建立了相应的“北斗导航系统”,但目前我国应用最为广泛的还是GPS系统。本文针对GPS系统,介绍了定位信息在GPS接收机与PC机之间的传输和提取方法。</P>
      <P>2 
      定位信息的格式<BR><BR>要实现定位信息的提取和显示,首先要实现定位信息的传输,即通过相应的接口实现GPS接收机与PC机之间的通信。本文介绍的接收机采用SiRF 
      Technology公司的GPS接收芯片,通过天线接收GPS卫星信号,并进行相应处理产生定位信息,再通过串口(RS 
      232)输出。GPS通讯协议较多,本文采用应用最为广泛的NMEA—0183协议。在此协议中包括了“$GPGGA”、“$GPGSA”、“$GPGSV”和“$GPRMC”等格式,本文以最简格式“$GPRMC”语句为例介绍协议中各数据段的含义。例如:$GPRMC,161022.A,3212.875,N,11893.578,E,O.O,11O.4,140406,2.3,W,A*302。 
      </P>
      <P>在此列中各数据段通过逗号分开,其中:<BR><BR>$GPRMC为帧头,标识后续帧内数据组成结构;161022为UTC标准时间,格式为“hh/mm/ss”;A表示数据有效,如为V则表示可跟踪卫星小于3颗;3212.875为纬度值,格式为“ddmm.mmmm”;N表示北纬,如为S则表示南纬;11893.578为经度值,格式为“dddmm.mmmm”;E表示东经,如为W则表示西经;0.0表示速度;110.4表示方位角,从000.0°~359.9°;140406为UTC标准日期,格式为“mm/dd/yy”;2.3表示地磁变化,从000.O°~180.0°;W表示地磁变化方向,包括w或E; 
      </P>
      <P>在这些数据中,本文主要关心的是地理坐标和时间,即纬度、经度和UTC日期、时间。</P>
      <P>3 
      定位信息的传输和提取<BR><BR>定位信息的传输,即GPS接收机与PC机之间的通信,通常采用串口来实现。本文中采用VB提供的MSComm控件来编写串口程序达到通信的目的。MSComm控件被广泛用来实现串口通信,对于他的介绍这里不再赘述。在本文中实现具体的串口通信时,必须对MSComm控件的相关属性进行设置。在默认设置基础上需要进行更改的设置包括下面3个部分:<BR><BR>(1)考虑到GPS串口通信采用固定的参数,因此要将MSComm控件中的Settings属性设置为“4800,N,8,1”,即波特率为4 
      800 
      b/s,无奇偶校验位,数据位为8,停止位为1。<BR><BR>(2)根据所采用的接收机的不同,还需对MSComm控件中的inputMode属性进行设置,本文中采用“comInputMode 
      Text”方式。<BR><BR>(3)根据所选择的串口将MSComm控件中的Commport属性设置为相应的串口号,本文中为“1”。<BR><BR>定位信息的提取,包括2个部分:<BR><BR>(1)从“$GPRMC”数据列中提取经纬度等信息;<BR><BR>(2)将这些信息在文本框内显示。这一工作可以在MSComm控件中的OnComm事件中通过编程具体实现。流程图如图1所示。</P><IMG 
      height=380 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/1173322468.jpg" 
      width=200> 
      <DIV align=left>部分代码如下:</DIV><IMG height=207 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/1173322469.jpg" 
      width=260> <IMG height=333 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/1173322470.jpg" 
      width=350> 
      <P>首先,将缓存中的“$GPRMC”格式的定位信息赋给字符串变量“GPRMC”,根据前面介绍过的“$GPRMC”的格式,通过相应的语句从变量“GPRMC”中提取出所需的纬度、经度、速度和时间日期等信息,并赋给相应的变量。需要注意的是,在提取时间信息时需要将UTC时间转换为北京时间,并对24进行模运算,以确保时间的准确。然后,将提取出来的定位信息在预先设计的文本框中显示出来。通过这些步骤即完成定位信息的提取工作,具体的效果如图2所示。</P><IMG 
      height=219 
      src="基于MSComm控件的GPS接收机数据终端接口设计 - 硬件设计 - 开发者社区.files/1173322472.jpg" 
      width=300> 
      <P>4 结语<BR 
      class=style1><BR>本文介绍了一种使用VB实现GPS定位信息提取的方法,具有简单、实用的特点。通过这一方法可以实现GPS接收机和PC机之间的数据通信,并能将所需的定位信息直观地在相应窗口显示出来。</P>&nbsp; 

      <DIV align=center>本文摘自《现代电子技术》</DIV></DIV></DIV>
      <DIV></DIV></TD></TR>
  <TR>
    <TD class=postauthor>
      <DIV class="popupmenu_popup userinfopanel" id=userinfo26933_menu 
      style="DISPLAY: none">

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -