在现代的各种实时监控系统和通信系统中,
在Windows 9X/NT下利用VC++对RS-232串口编程是常用的手段。
本程序以动态连接库(DLL)形式实现对多串口的操作。
一、 多串口DLL功能
(一) 串口参数设置
对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件。
而且由于场合不同、用途、功能的不同对串口也采取不同的配置方式,
为了使本程序更灵活,适应面更广,采取将所有的可能参数都预先设置在几个组合框中,
可以在程序运行后随时更改设置。
上位机MFC多串口控制解决方案动态库源代码
波特率:从1200bps到57600bps。
校验:有无校验(NOPARITY)。
数据位:7位或是8位。
停止位:1位、1.5位或是2位。
流控制:有无流控制(flow)。
(二) 串口收发数据调试显示
在进行串口操作时,尤其是在调试期间,需要知道串口的收发数据。
本DLL提供串口收发数据的显示界面。
上位机MFC多串口控制解决方案动态库源代码
(三) 串口参数设置文件
串口参数设置文件名为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 提供三个文件Msmulticomms.dll,
Msmulticomms.lib,
Multicomms.h。
在应用时,要把这三个文件拷贝到相应的目录下,
并且要作如图4的设置。详见示例工程。
上位机MFC多串口控制解决方案动态库源代码
三、 多串口DLL主要函数使用说明
1.BOOL OnCommsCreate(CWnd* pParentWnd);
创建串口,本DLL同时创建5个串口。pParentWnd为窗口指针,一般为this。
2. BOOL OnComportOpen();
根据串口设置文件中的设置参数,打开多串口。
3.void OnCommSend(unsigned int uiCom, CString sSendData, unsigned int uiKind);
往指定串口发送数据。其中uiCom为指定的串口,
注意串口1的uiCom为0;sSendData为要发送的字符串;
uiKind: 发送数据类型:0:原始数据 1:加回车符 2:加校验和。
4.void OnMscommsSet();
打开串口设置界面,改变串口设置,并保存到设置文件中。
5.BOOL OnComportTimerProcess(CString strProcess[MaxPort]);
判断串口接收的一组数据是否已经接收完。
6. BOOL OnPopupDialog();
打开串口收发数据显示调试界面。
7. BOOL OnGetPortUse(unsigned int uiCom);.
判断指定串口是否使用。
8. BOOL OnGetPortExit(unsigned int uiCom);
判断指定串口在本机上是否存在。
9. void OnPortClose(unsigned int uiCom);
关闭指定串口。
10. void OnPortOpen(unsigned int uiCom);
打开指定串口。
11. void OnCloseAllPorts();
关闭所有串口。
12. void OnOpenAllPorts();
打开所有串口。
源代码下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|