应用多线程、重叠I/O等多种技术工作的通讯端口控制组件
本人在开发文档发布了一个贴子,标题为:多线程、重叠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及其源代码。
欢迎大家光临指正、使用、修改。