基于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. |
