应用多线程、重叠I/O等多种技术工作的通讯端口控制组件

horris 2001-11-05 02:17:02
本人在开发文档发布了一个贴子,标题为:多线程、重叠I/O通讯端口组件,关键字:LiteSerial。
这个文档描述了本人用MS VC6的ATL 3自行开发的组件--LiteSerial.dll,一个轻型的控制通讯端口的COM服务器。它侧重于以最少的资源解决实时快速读取串并口等通讯资源,但具备MSCOMM提供的大多数功能。
组件的ILiteSerialPort接口,封装了对串口、并口等可以用Win32 API CreateFile打开的标准通讯资源(Communication Resource)的同步、异步读写。组件对串口的访问一律采用Win32重叠I/O (Overlapped I/O)技术。异步读写时,采用多线程编程和类似producer/consumer的循环缓冲区控制实现并发读写。整体性能比MSCOMM.OCX实时性好,占用资源少。可以最大限度地利用通讯速率,满足极端条件下的数据采集要求。
随文档提供了组件LiteSerial.dll及其源代码,帮助文件LiteSerial.chm,VC客户端例子sin.exe及其源代码,VB客户端例子vbcomtest.exe及其源代码。

欢迎大家光临指正、使用、修改。
...全文
117 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
horris 2001-11-15
  • 打赏
  • 举报
回复
为了忘却的记念。
很想知道对它的评价,技术上的。
xtky_limi 2001-11-09
  • 打赏
  • 举报
回复
旁听
explorer007 2001-11-09
  • 打赏
  • 举报
回复
是的,我也推 :)
MSVCer 2001-11-09
  • 打赏
  • 举报
回复
我总不能厚着脸皮帮你推吧,我觉得这种文章还是很有必要让大家了解的,比如我
horris 2001-11-09
  • 打赏
  • 举报
回复
很无耻地再推一把
horris 2001-11-08
  • 打赏
  • 举报
回复
this is an advertisement to my component
MSVCer 2001-11-08
  • 打赏
  • 举报
回复
我帮你推
horris 2001-11-06
  • 打赏
  • 举报
回复
请大家多多关照
horris 2001-11-05
  • 打赏
  • 举报
回复
原帮助文件有点不准确的地方:
“VC客户端程序例子”页中,在
AfxGetApp()->m_pMainWnd->PostMessage(WM_COMMAND,ID_COMM_GETDATA);
后面的一段,应改为:

“我没有直接用AfxGetMainWnd获得主窗口句柄,因为主窗口是属于主线程的,但这时不是处在主线程中,而AfxGetMainWnd可能是从当前线程查询主窗口的。因此,我特地用了AfxGetApp()先取得主线程,再通过CWinThread的类成员m_pMainWnd获得主窗口。 ”

为此,又上传了一次新版的帮助文件,请按“LiteSerial的帮助文件”的第二个链接下载。

这是书的光盘。共分为两个部分,这是第一部分。 本书由浅入深、循序渐进地介绍了Windows驱动程序的开发方法与调试技巧。本书共分23章,内容涵盖了 Windows操作系统的基本原理、NT驱动程序与WDM驱动程序的构造、驱动程序中的同步异步处理方法、驱 动程序中即插即用功能、驱动程序的各种调试技巧等。同时,还针对流行的PCI驱动程序、USB驱动程序 、虚拟串口驱动程序、摄像头驱动程序、SDIO驱动程序进行了详细的介绍,本书最大的特色在于每一节 的例子都是经过精挑细选的,具有很强的针对性。力求让读者通过亲自动手实验,掌握各类Windows驱动 程序的开发技巧,学习尽可能多的Windows底层知识。   本书适用于中、高级系统程序员,同时也可用做高校计算机专业操作系统实验课的补充教材。 原创经典,威盛一线工程师倾力打造。深入驱动核心,剖析操作系统底层运行机制,通过实例引导,快 速学习编译、安装、调试的方法。   从Windows最基本的两类驱动程序的编译、安装、调试入手讲解,非常容易上手,用实例详细讲解 PCI、USB、虚拟串口、虚拟摄像头、SDIO等驱动程序的开发,归纳了多种调试驱动程序的高级技巧,如 用WinDBG和VMWARE软件对驱动进行源码级调试,深入Windows操作系统的底层和内核,透析Windows驱动 开发的本质。 本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,而且介绍了编程技 巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导意义 ,是一本值得推荐的专著。              ——中国工程院院士   院士推荐   目前,电子系统设计广泛采用通用操作系统,达到降低系统的设计难度和缩短研发周期。实现操作 系统与硬件快速信息交换是电子系统设计的关键。   通用操作系统硬件驱动程序的开发,编写者不仅需要精通硬件设备、计算机总线,而且需要Windows 操作系统知识以及调试技巧。学习和掌握Windows硬件驱动程序的开发是电子系统设计人员必备的能力。   本书是作者结合教学和科研实践经验编写而成的,不仅详细介绍了Windows内核原理,并且介绍了编 程技巧和应用实例,兼顾了在校研究生和工程技术人员的实际需求,对教学、生产和科研有现实的指导 意义,是一本值得推荐的专著。 第1篇 入门篇 第1章 从两个最简单的驱动谈起 本章向读者呈现两个最简单的Windows驱动程序,一个是NT式的驱动程序,另一个是WDM式的驱动程序。 这两个驱动程序没有操作具体的硬件设备,只是在系统里创建了虚拟设备。在随后的章节中,它们会作 为基本驱动程序框架,被本书其他章节的驱动程序开发所复用。笔者将带领读者编写代码、编译、安装 和调试程序。   1.1 DDK的安装   1.2 第一个驱动程序HelloDDK的代码分析    1.2.1 HelloDDK的头文件    1.2.2 HelloDDK的入口函数    1.2.3 创建设备例程    1.2.4 卸载驱动例程    1.2.5 默认派遣例程   1.3 HelloDDK的编译和安装    1.3.1 用DDK环境编译HelloDDK    1.3.2 用VC集成开发环境编译HelloDDK    1.3.3 HelloDDK的安装   1.4 第二个驱动程序HelloWDM的代码分析    1.4.1 HelloWDM的头文件    1.4.2 HelloWDM的入口函数    1.4.3 HelloWDM的AddDevice例程    1.4.4 HelloWDM处理PNP的回调函数    1.4.5 HelloWDM对PNP的默认处理    1.4.6 HelloWDM对IRP_MN_REMOVE_DEVICE的处理    1.4.7 HelloWDM对其他IRP的回调函数    1.4.8 HelloWDM的卸载例程   1.5 HelloWDM的编译和安装    1.5.1 用DDK编译环境编译HelloWDM    1.5.2 HelloWDM的编译过程    1.5.3 安装HelloWDM   1.6 小结  第2章 Windows操作驱动的基本概念  驱动程序被操作系统加载在内核模式下,它与Windows操作系统内核的其他组件进行密切交互。本章主 要介绍Windows操作系统内核的基本概念,同时还介绍应用程序和驱动程序之间的通信方法。   2.1 Windows操作系统概述    2.1.1 Windows家族    2.1.2 Windows特性    2.1.3 用户模式和内核模式    

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧