GPS与PDA的串口通信研究
   来源:中国科技博览     2021年08月26日 00:49

...机做RS232串口通信实验 -杭州电子 计算机工作室 欢迎您 Welcome ...

张欣然

[摘 要]文章首先阐述了GPS数据提取方法,接着分析了串口通信,最后依据实际情况对GPS与PDA的串口通信进行了探究。

[关键词]GPS;PDA;串口通信

中图分类号:TN929.53 文献标识码:A 文章编号:1009-914X(2017)13-0220-01

1 前言

随着企业信息化进程的推进,无论是哪个管理相关部门,都希望从工作的现场得到最新的数据,并对这些新的数据进行综合的分析。然而,不同的控制器来自不同的厂商,通过不同的标准,组成各自需要的系统,并进行控制,各个控制系统形成了互不相连的自动化孤岛,因为很多数据无法整体的采集到并进行整体的分析与研究。从而更无法建立统一的生产过程数据平台,难以实现管理控制的一体化。

2 GPS数据提取方法

GPS数据提取方法分为两个步骤:第一步,GPS数据的捕获;第二步,GPS数据的解析。前者采用串口通信的方式把GPS接口与主机相连接,利用VC++的MSComm控件实现对串口编程,捕获GPS接收机所发送的数据;后者根据捕获的GPS数据帧格式中的帧头确定要给哪个数据帧进行数据的解析,然后根据数据帧结构中的内容提取所需要的信息。

3 串口通信

3.1 Linux下串口通信基本原理

Linux系统将设备和文件的操作都作为对文件的处理,所以对设备的操作,内核会返回一个文件描述符,需要将其作为参数传给相对应的函数。Linux中所有的设备文件都放在“/dev”目录下,通过“ttyS+编号”命名相应的串口资源,所以对应路径是“/devttyS*”。因而可以相对文件读写那样访问一个串口设备。

3.2 串口控制应用程序

4.2 配置串口通信参数

配置串口主要是用DCB结构配置端口参数,包括波特率、停比位、数据位、校验位等。首先打开串口,用GetCommState函数获得当前打开的串口参数,然后根据需要修改DCB成员变量,然后用SetComm-State函数设置新的串口参数。

4.4 读写串口数据

在成功打开并设置通讯口后,可采取轮询串口和事件触发两种方式对数据进行接收处理。这里采取效率比较高的事件触发方式进行接收处理。通过等待EV_ RXCHAR事件的發生来启动ReadFile函数,完成对GPS定位信息的接收:

4.5 通信结束,关闭串口

关闭串口使用函数CIoseHandle(hPort)。现在已将所需信息提取到内存,即时间、日期以及经纬度等数据分别保存在各个变量中。在实际应用中往往还要根据需要对其做进一步的运算处理,比如从GPS接收机中获得的时间信息为格林尼治时间,因此需要在获取时间上加8小时才为我国标准时间。GPS使用的WGS84坐标系也与我国采用的BJ54大地坐标系不同,需要对此加以变换。而这些变换运算必须通过数值运算完成,需要将前而获取的字符型变量转化为数值型变量。

5 结束语

本文介绍的GPS与PDA的串口通信软件可以嵌入到大部分的Palm OS的程序中,很好地完成现串口通信的基本任务。该串口通信软件现已集成在一家国外公司的自动售卡机产品中,且已投入使用。

参考文献

[1] 赵红,韩建国.流程工业CIMS现场实时数据传输的OPC解决方案[J].北京化工大学学报,2011,28(3):61-62.

[2] 张俊彪,王鸿辉,何长安.基于OPC Server的PC与S7-300/400的通信[J].电力自动化设备,2012(4):83-84.

文章 数据 通信