`
isiqi
  • 浏览: 16032886 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

多串口DLL解决方案API版

阅读更多
硬件/系统
多串口DLL解决方案API版
作者许士敏

调用Win32的串口通信API函数,以动态连接库(DLL)形式实现对多串口的操作。

正文
[refer]下载演示程序[/refer]
[refer]下载技术文档[/refer]

在现代的各种实时监控系统和通信系统中,在Windows9X/NT下利用VC++对RS-232串口编程是常用的手段。
本程序以动态连接库(DLL)形式实现对多串口的操作,MSCOMM串口通讯控件在基于对话框的程序中很好使用,但在基于文档的程序不能直接使用该控件,且生成的可执行文件不能适用于不同的计算机。
Windows通信一般都以WOSA(WindowsOpenServicesArchitecture,即Windows开放式服务体系)模型为基础,在此模型中位于上层的应用程序通过调用各种通信API(ApplicationProgrammingInterfaces,即应用程序接口)与位于下层的设备驱动程序进行数据交换。Windows对串行口的读写也不例外,通过调用Win32的串口通信API函数,即可编写串行通信程序。本DLL是基于API函数的。

一、多串口DLL功能
(一)串口参数设置
  对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件。而且由于场合不同、用途、功能的不同对串口也采取不同的配置方式,为了使本程序更灵活,适应面更广,采取将所有的可能参数都预先设置在几个组合框中,可以在程序运行后随时更改设置。
图1串口参数设置界面

串口号:自动检测计算机存在的串口,但只能控制从COM1到COM5,能满足绝大多数人的需求。
是否使用:如果选中,则表示要对该串口进行初始化,以及收发控制。否则表示对计算机存在的串口不操作。
波特率:从1200bps到57600bps。
校验:有无校验(NOPARITY)。
数据位:7位或是8位。
停止位:1位、1.5位或是2位。
流控制:有无流控制(flow)。

(二)串口收发数据调试显示
在进行串口操作时,尤其是在调试期间,需要知道串口的收发数据。本DLL提供串口收发数据的显示界面。


图2串口收发数据ASCII显示界面



图3串口收发数据16进制显示界面
(三)串口参数设置文件
串口参数设置文件名为MscommSet.ini,该文件保存在工程工作目录下,如果没有该文件,串口按缺省值设置,在设置串口参数后,自动生成该设置文件。其内容如下:
[0串口信息]
use=1
baud=2400
port=1
databits=8
stopbits=1
flow=0
parity=N
[1串口信息]
use=1
baud=2400
port=2
databits=8
stopbits=1
flow=0
parity=N
[2串口信息]
use=0
baud=2400
port=1
databits=8
stopbits=1
flow=0
parity=N
[3串口信息]
use=0
baud=2400
port=4
databits=8
stopbits=1
flow=0
parity=N
[4串口信息]
use=0
baud=2400
port=1
databits=8
stopbits=1
flow=0
parity=N

二、多串口DLL的作用
本DLL提供三个文件SerialAPIDLL.dll,SerialAPIDLL.lib和MultiSerialAPI.h。在应用时,要把这三个文件拷贝到相应的目录下,并且要作如图4的设置。详见示例工程。


图4应用工程连接设置界面

三、多串口DLL主要函数使用说明
1.BOOLOnCommsCreate(CWnd*pParentWnd);
创建串口,本DLL同时创建32个串口。pParentWnd为窗口指针,一般为this。
2.BOOLOnComportOpen();
根据串口设置文件中的设置参数,打开多串口。
3.voidOnCommSend(unsignedintuiCom,CStringsSendData,unsignedintuiKind);
往指定串口发送数据。其中uiCom为指定的串口,注意串口1的uiCom为0;sSendData为要发送的字符串;uiKind:发送数据类型:0:原始数据 1:加回车符 2:加校验和。
4.voidOnMscommsSet();
打开串口设置界面,改变串口设置,并保存到设置文件中。
5.BOOLOnComportTimerProcess(CStringstrProcess[MaxPort]);
判断串口接收的一组数据是否已经接收完。
6.BOOLOnPopupDialog();
打开串口收发数据显示调试界面。
CSDN VC编程经验总结
分享到:
评论

相关推荐

    [069]VC++多串口控制解决方案(DLL) 工业控制--串口通讯方法(WINAPI实现).zi上位机开发VC串口学习资料源p

    [069]VC++多串口控制解决方案(DLL) 工业控制--串口通讯方法(WINAPI实现).zi上位机开发VC串口学习资料源p[069]VC++多串口控制解决方案(DLL) 工业控制--串口通讯方法(WINAPI实现).zi上位机开发VC串口学习资料源p...

    Qt5.13.1串口Bug问题解决readyRead信号触发问题的dll与lib文件.7z

    分别将文件夹中的bin文件夹中的dll,和lib文件夹中的文件 对应复制覆盖到:Qt安装目录下(以默认路径为例),解决Qt5.13.1中QSerialPort 模块中 ReadyRead信号不触发的问题。 C:\Qt\Qt5.13.1\5.13.1\mingw73_64 ---...

    VC++多串口控制解决方案附技术文档

    内容索引:VC/C++源码,系统相关,串口,RS-232 如果你是从事实时监控系统和通信系统的开发,那么你就会发现利用VC++对RS-232串口编程是经常用到的事... 本程序就是一个以动态连接库(DLL)文件形式实现对多个串口的操作。

    关于串口PLC联网与PLC之间通讯的手册与软件

    多台串口型PLC联网的解决方案,包括被占用的串口PLC取数据, 以及PLC之间、PLC与读码器、智能设备之间通讯等,附件中的相关手册和软件;

    去除驱动安装数字签名的终极解决方案------适用win2000,winxp,win2003

    2、上述代码使用MFC库,造成执行文件过大的问题,修正代码中消息模拟全部用Windows API实现 二、修改注册表的方法 1、windows 2000 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing\Policy (键值改为0)...

    Virtual Serial Port VSPD工具

    Virtual Serial Port是一款完全模拟真实的串行端口来创建虚拟COM端口对的软件.它是一款很好的虚拟串口驱动解决方案,简称"VSPD",串口调试工具绿色免安装版,dll文件覆盖原有文件即可

    基于.NET的轻量级高性能网络程序框架Mina.NET设计源码

    此外,还包括4个DLL文件,3个解决方案文件,以及2个Markdown文档。这些文件详细展示了如何使用C#构建一个支持TCP、UDP和串口等多种传输通道的网络程序框架,该框架能够帮助开发者快速地开发高伸缩性的应用程序,非常...

    VS2008MFC扩展动态库与调用示例

    使用VS系列IDE开发客户端程序,经常会在不同项目中遇到相同的功能,可以考虑把功能独立出来,...常见的功能模块如:串口通信、网口通信、文件处理、数据库操作、写运行日志等等,封装成MFX扩展动态库是最好的解决方案。

    GSMMODE及二次开发空间

    具有多行业成熟案例及解决方案: ◆ 企业办公:会议通知短信确认、短信日程提醒、公告订阅短信、招聘短信联系等 ◆ 销售数据采集:通过短消息实现销售数据的实时采集 ◆ 证券营业部:中签短信通知、实时解盘资讯...

    寒江独钓-Windows内核安全编程(高清完整版).part6

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part1

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part7

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part2

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part4

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part5

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    寒江独钓-Windows内核安全编程(高清完整版).part3

    本书的大部分代码具有广泛的兼容性,适合从Windows 2000 一直到目前最新的Windows 7 Beta 版。  本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java开源包8

    JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案,是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一...

Global site tag (gtag.js) - Google Analytics