频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

RS-232-C端口实时监控软件的设计实现

来源: 作者: 出处:巧巧读书 2007-12-13 进入讨论组
下一页 1 2 3 4 

  摘要:

  本文介绍了在Microsoft Visual C++ 6.0环境下对RS-232-C串行端口进行编程,以及对后台监控程序所普遍涉及到的无阻塞后台运行、数据的实时接收和处理等问题的解决方法。

  一、 引言

  在实验室和工业应用中,受信道成本限制,串口常常作为计算机与外部串行设备之间的首选数据传输通道,而且由于串行通信方便易行,许多设备和计算机都可以通过串口对外设进行控制、检测,串口通讯日益成为计算机和外设进行通讯、获取由外设采集到的监测数据的一个非常重要的手段。本文所描述的程序实例运行于Windows 9x操作系统下,可后台运行、实时接收、处理从端口传来的数据,并能通过向串口发送命令来控制外设的动作。为了避免在实时监控数据时引发程序阻塞,在本程序中引入了线程和端口中断响应等技术。

  二、 程序设计思路

  由于本程序要对串行端口进行实时监控,这就要求它是一个后台程序,在监控的同时可以在前台进行其他一些于之无关的操作。因而在实现时即要避免无时无刻都在反复读端口的效率低下的轮询方式,又不能因为来不及处理而将突然到达的监测数据丢失。只有采取端口中断的异步方式才能实现高效、安全的监控过程,只要一有数据到达端口,马上抛出中断请求,中断处理函数便会及时启动以处理到来的数据,从而避免了轮询间隙丢时数据的可能。而在大部分无数据到达的时间内不会有中断抛出,中断处理函数也不会执行,即仅仅在有数据到达的一瞬间进行工作,此效率不可谓不高。

  综上所述,要实现上述要求,就要用到下列技术来解决所遇到的关键性问题:一是采用多线程来避免在进行文件操作等耗时操作时会引发阻塞现象的发生。同时为了防止多个线程同时对同一个变量进行操作引起时序上的差错,为了保持线程的同步,还采取了临界区加解锁的技术;二是对端口的数据读取方式采取中断响应模式,具体原因前面以讲的很清楚,在此不再赘述;三是使用了定时器,以满足实时监控类程序的实时显示功能,以便及时的将所接收到的动态数据及时的反映到屏幕上。

收藏地址:http://www.qqread.com/vc/e777108002.html 更多文章 更多内容请看常用软件加密宝典杀毒软件专栏软件插件专题,或进入讨论组讨论。
下一页 1 2 3 4 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章