• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 多线程串口通信技术在GPS导航中的应用

多线程串口通信技术在GPS导航中的应用

录入:edatop.com     点击:

编程步骤如下:

(1)建立程序

建立一个基于单文档的MFC应用程序CSerial-PortTest,其他步骤保持缺省状态。

(2)添加类文件

将SerialPort.h和SerialPort.cpp两个类文件复制到工程文件夹中,用Project-Add to Project-Files命令将上述两个文件加入工程,并在任何要调用这个类的模块中加上#include SerialPort.h文件。

在视类头文件中定义串口类的对象:CSerialPortm_Port。

(3)人工增加串口消息响应函数OnCommunica-tion(WPARAM ch,LPARAM port)

首先在CSerialPortTestView.h中添加串口字符接收消息WM_COMM_RXCHAR(串口接收缓冲区内有一个字符)的响应函数声明,即:

在主线程初始化串口后创建CommThread函数进入死循环,线程一直监视串口事件,当读串口事件发生,读取串口接收到的数据,向主线程发自定义消息WM_COMM RXCHAR,通知主线程在相应的消息响应函数中进行数据处理,当收到主线程的写串口命令时,将缓存中的数据写到串口。

(5)在OnCommunication()函数中进行数据处理每当串口接收缓冲区内有一个字符时,就产生一个WM COMM RXCHAR消息,触发OnCommunica—tion函数。这时就可以在函数中进行相应数据处理,提取出时间、经纬度、速度等定位的关键数据,然后将这些数据保存到数据库。

4 结 语

串行通讯在通讯领域被广泛应用。利用基于多线程的第三方串VI通信类CSerialPort很好地解决了由于串口长时间占用CPU而引起的线程堵塞等问题,编程简单、方便、可移植性强,对于其他类型的串口通信问题均可采用。该程序由Microsoft Visual C++6.0编译,在Windows XP下运行通过。

作者:冯 正,韩 焱,王黎明 中北大学   来源:现代电子技术

上一篇:海事卫星在应急救援中的应用发展建议
下一篇:数字集群移动通信系统介绍

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图