当前位置:首页>>行业资讯>>技术应用>> VC多线程串口通讯编程技术在GPS导航的应用介绍

VC多线程串口通讯编程技术在GPS导航的应用介绍

时间:2015-11-10  来源:中国电子元器件网  作者:[db:作者]  浏览次数:363

  GPS(GlobalPositioningSystem)又称全球定位系统。GPS定位是通过测定用户到卫星之间的距离从而确定用户的位置的一种定位方法,在世界各国有着广泛的应用。纵观GPS的应用,总是和通讯技术紧密相连。从卫星星历发播到差分信息传送,以及从GPS接收机实时读取数据均和通讯有关。从GPS接收机实时读取数据使用的是串口通讯技术,串口通讯技术一般应用在实时处理中。GPS导航即是通过GPS定位技术实时给出用户所在的位置,这就要求实时地获取定位数据,现在一般采用异步串口通讯方法。GPS接收机和计算机按串行的方式进行通讯,这种通讯方式使用的数据线少,但其传输速度比并行慢。采用多线程技术,即开设一辅助线程用于读取数据,这样可以避免读写阻塞时主程序死锁。

  2串口通讯的基本原理串行端口的本质功能是作为CPU的串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。在Windows环境(WindowsNT、windows98、Windows2000)下,串口是系统资源的一部分。应用程度使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。

  3使用多线程串口编程读取数据的实现过程32位串口通信可以用两种方法实现:利用ActiveX控件和AH通信函数。这里主要介绍使用API通信函数,因为用API通信函数虽然复杂一点但比控件灵活。

  局变量,也可在自己定义的类中定义为类的变量,通过类的对象引用。

  2002.6/全球定位系统21可自选允许读写//共享方式,此项必须为NULL,//指向安全属性的指针OPENEXISTING,//设置产生方式FILEFLAGOVERLAPPED,//我准备使用异步通信,必须这样设置NULL);//模板文件句柄,必须为NULL上面的函数功能是:用异步通讯方式打开COM2串口,返回串口的句柄,如果要打开COM1,将COM2换成COM1即可。

  打开串口后还需要检测串口是否被成功的打开。如果打开成功则对串口进行设置,否则退出。

  来的参数设置下面是对串口原来的参数进行重新设置。deb.BaudRate=9600;//读取数据的波特率,可改,如4800等。

  //奇偶校验控制,此处奇偶无效要根据通信协议选择上述参数。

  对接收机进行设置对接收机进行设置,即通过对串口写命令,设置输出数据格式,定位模式,数据传输速率,输出的电文类型等参数。不同型号的接收机命令不尽相同,必须仔细阅读接收机的说明书。后面将介绍向串口写数据的函数。

  启动一个辅助线程,处理串口事件hCommWatchThread=CreateThread NULL,//安全属性,//初始化线程栈的大小,缺省为与主线程大小相同上函数启动了一辅助线程,执行Fil- eReadThreacK)的功能,让读取数据在后台进行,FileReadThreadO必须定义为全局函数。

  真正读取数据功能是通过FileReadThread()函数实现的。下面是使用重叠方式读取串口数据的实现代码。

  数据的字符数组osReader=0;//读串口的重叠结构读串口IpStat;//串口设备状态信息//创建重事件结构中的事件句柄osReader. FALSE,//延迟读到数据//重叠读数据7在主线程中向串口写数据发送命令下面的代码是实现向串口发送数据,发数据和接收数据相似。

  //设置*后的返回的错误代码非法的串口句柄错误//设置*后的返回的错误代码无效的数据//如果数据缓冲区指针为空if(pBuf―=NULL)//设置*后的返回的错误代码无效的参数送的数据和重叠事件返回的结果重叠结构IpStat;//串口设备状态信息//创建事件结构中的事件句柄osWrite. //创建重事件句柄没有成功//发送数据到串口//用重叠方式发送//获取重叠读串口数据的结果caseWAITOBJECT0;//清除串口发生的错误8关闭串口和线程应用程序结束之前执行此项操作,可在View类的OnDestroy()函数中执行。

  (下转第53页)(上接第23页)4结束语上述是用多线程编程技术进行串口通信的过程和代码,能实现GPS接收机和计算机之间实时的通信,从而实现导航功能。所有的串口通信的问题都可用上述方法。

相关资讯
资讯推荐
热门新闻排行
  1. 益昂通信推出第二代 ChronoPHY™万兆PHY芯片功耗降低40% 赋能AI边缘网络基础设施
  2. 方案拆解 | Edge AI算力重构,Synaptics新平台背后的Arm Cortex M52 + Ethos U55
  3. AMD 发布新款第二代 Versal Prime 系列器件:业界领先的标量计算能力,更小的尺寸规格
  4. 陶氏公司亮相COMPUTEX TAIPEI 2026,以创新热管理材料科学助力实现“AI Together”
  5. 村田开始量产小型化、大容量汽车用树脂外部电极片状MLCC
  6. AMD FPGA 助力 ModRetro 以 M64 游戏主机重现复古游戏魅力
  7. 方寸之间,智启无界新生——村田中国将携四大领域创新产品亮相2026慕尼黑上海电子展
  8. 村田开始通过新思科技电磁场及热分析工具提供仿真模型
更多>>视频分享