基于uClinux的GPSOne/GPS双定位信息接收


       gps_info数组中gps_info_process(gps_info);//解析定位信息处理
      }
    }
    else if (fd_isset(*fd_gpsone, &fds)){//若gpsone串口设备有数据可读
      recv_len = recv_port(*fd_gpsone, buf, 254);
      if (recv_len > 0){memcpy (gpsone_info, buf, recv_len); //信息保存到gpsone_info数组中
      gpsone_info_process(gpsone_info);//解析定位信息处理
      }
    }
    sleep(1);
  }

6 设计总结

本文详细说明了串口编程的基本方法和步骤,并提出一种基于se-lect的i/o复用机制处理多个串口信息的方案,同时给出这种方案的具体实现。此方案具有较高的可靠性,保证了多个串口的信息可以很好地被接收和处理,而且不相互干扰,利于系统更好地管理多个文件设备。特别是在数据采集和数据传输领域中,se-lect利用内核同时监听多个设备描述符机制,可以被广泛地应用于嵌入式系统多路i/o采集的设计中。

参考文献

[1] kurt wall. gnu/linux编程指南[m].张辉,译. 北京:清华大学出版社,2005.
[2] richard stevens w. unix网络编程[m]. 第2版. 第1卷·套接口api和x/open传输接口api.北京:清华大学出版社,1998:121131.
[3] 马忠梅,李善平,康慨,等. arm&linux嵌入式系统教程[m].北京:北京航空航天大学出版社,2005:255261.
[4] 周立功.arm嵌入式系统实验教程(2).广州:广州周立功单片机发展有限公司,2005:213219.
[5] 邓滔,徐勇. gps与嵌入式linux平台串行通信研究[j]. 工业控制计算机,2005,18(1).

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生