网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 行业动态 | GPS | Galileo | Glonass | 北斗 | A-GPS | GIS | 地图 | DIY | Google earth | POI | 解决方案
 当前位置: Home > GPS > GPS硬件 > 文章  
基于uClinux的GPSOne/GPS双定位信息接收
文章来源: 《单片机与嵌入式系统应用》 文章作者: 徐柳茂 蒋念东 黄永强 发布时间: 2007-02-28   字体: [ ]  
 

  在应用中,通常先调用select查看哪个I/O设备可读/写。如果没有可读/写的设备,并且没有设置超时返回功能,那么进程将阻塞在select调用上;如果有,则select函数返回,紧接着可通过测试参数readfds和writefds来确定哪个I/O设备可读或能写,而后以非阻塞方式操作该I/O设备,从而实现期望功能。

  在实现select应用的过程中,还会使用到这些select相关接口:

void FD_ZERO(fd_set*fdset);
void FD_SET(int fd, fd_set*fdset);
void FD_CLR(int fd, fd_set*fdset);
int FD_ISSET(int fd, fd_set*fdset);

  其中,fd_set表示设备文件描述符集合,fd表示设备文件描述符。FD_ZERO函数用于清除设备文件描述符集合所有元素;FD_SET函数用于把某个文件描述符添加至文件描述符集合;FD_CLR函数用于从文件描述符集合中删除某个文件描述符;而FD_ISSET用于检测设备文件描述符集合的某个文件描述符是否有效,有效则表示该位对应的设备有数据可读或可写。

  4 轮询检测方法与select方法的比较

  4.1 轮询检测方法

  轮询检测方法是指对串口进行非阻塞的读写操作。当操作未成功时,让进程或线程挂起一段时间,然后再使用非阻塞调用来重新查询串口是否有可读/写数据。用此方法,相当于系统不断地对接收或者发送操作的执行结果进行探测,直到把数据发出去或者接收完成定量的数据,才退出此轮询循环。而对于接收与发送不确定哪个时刻会到达的情况,即随机性比较高的读/写操作,采用轮询方法会造成CPU资源浪费。如果轮询频率过低,则会使系统少接收一部分数据或接收过慢;反之,则接收方会因为等待太久而不能接收更多新的数据。轮询频率过高的情况,会让CPU过度频繁地查询串口状态,造成过多的耗用CPU执行周期,降低其利用率。

  4.2 select机制能充分利用系统时间的原因

  与频繁调用非阻塞读写函数来轮询监听I/O的方法相比,select调用允许用户把进程本身挂起来,同时使系统内核监听所要求的一组文件描述符的任何活动。只要确认在任何被监控的文件描述符上出现活动,select调用将返回指示该设备文件已经准备好的信息。这样就使进程能相对实时地监测到I/O设备上随机的变化,而不必由进程本身去探测输入数据是否准备好。

  5 利用select I/O的机制实现GPS与GPSOne数据的接收

  本文提出的基于GPS与GPSOne信号的双定位的解决方案,即对系统两个串口定位信号的监听与处理,充分利用uClinux下基于Select的I/O复用机制,更利于较复杂系统的控制和管理。

  方案实现的程序流程如图4所示。

图像 “/upimg/allimg/20070228/1057223.jpg” 因其本身有错无法显示。

  以下代码为使用Select I/O机制接收GPS信息和GPSOne信息的软件实现:

 
推荐文章
·航天GPS接收机的低噪声放大器设
·基于MAX2742型电路的GPS接收机设
 

 
共4页: 上一页 [1] [2] 3 [4] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·GPS接收机射频前端电路原
·基于MAX2742型电路的GPS接
·基于嵌入式Linux系统的车
·航天GPS接收机的低噪声放
·NXP的PMP参考设计采用了软
相关文章
·心中有数 简述GPS导航设备
·MSComm控件的GPS接收机数
·又一款巧克力?LG推出多功
·排疑解惑 解答 GPS十大常
·派盟导航仪: 派盟战罗盘Z1
·航天GPS接收机的低噪声放
·任我游GPS导航仪软硬件深
·ASUS 推出超薄金属机身 GP
更多...
 
 

Copyright(c) 2006-2007 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统