GPS定位信息提取及应用
3 GPS定位信息提取与解析
3.1 GPS读取MID串口数据流程图
首先创建串口的读线程,然后进行串口的监听,等待指定渎事件的发生。如果有可读数据则读串口,对接收到的事件进行数据处理。数据读取流程图如图2所示。本文引用地址:https://www.eepw.com.cn/article/154038.htm
3.2 串行端口数据通信
1)打开串行端口
通过调用CreateFile函数打开串行端口
m_hComm=CreateFile (Port,GENERIC_READ1GENERIC_WRITE,0,0,OPEN_EXISTING,0,0)。这个函数的返回值是已打开串行端口的句柄值。
2)串行端口通信配置
串口打开后.需对串口进行配置。用GetCommState函数获得当前打开的串口参数,然后根据需要修改DCB的成员变量,用SetCommState函数来设置新的串口参数。
3)设置状态参数
SetCommMask(m_hComm,EV_RXCHAR);
4)设置超时参数
为防止程序陷入循环状态,需要设置超时值。
5)读写串口通信
fReadState=ReadFiie(m_hComm,data,length,dwLength,NULL)://从串口读取数据
fWriteState=WriteFile(m_hComm,buf,dwCharToWrite*sizeof(char),dwBytesWritten,NULL);//向串口写入数据
6)通信结束关闭串口
函数CloseHandle(m_hComm)用来关闭串口。当串口获取GPS接收机数据信号后,需要根据NMEA-0183通信协议解析GPS数据,获取移动目标当前的格林尼治时间和位置,而我国的标准时间需在格林尼治时间上加上8小时。
GPS使用的坐标系为WGS_84坐标系,而我国通常使用的是国家坐标系,如北京54国家坐标系,因此需要进行坐标转换。GPS在与MID通信过程中可通过串口每秒发送10条数据。实际应用中可根据需要解析所需定位数据。
评论