- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC多串口制解决方案
《VC++多串口控制解决方案1.0版》
技术文档
在现代的各种实时监控系统和通信系统中,在Windows 9X/NT下利用VC++对RS-232串口编程是常用的手段。MSCOMM32.OCX。
注册方法有二:
1.把MSCOMM32.OCX COPY到WINDOWS的SYSTEM目录下,用regsvr32 MSCOMM32. OCX注册.
具体如:
C:\COPY MSCOMM32.OCX C:\WIN\SYSTEM
C:\REGSVR32 SMSCOM.OCX
2.安装VC后就已自动注册了MSCOMM32.OCX。
一、 () 串口参数设置 对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件。而且由于场合不同、用途、功能的不同对串口也采取不同的配置方式,为了使本程序更灵活,适应面更广,采取将所有的可能参数都预先设置在几个组合框中,可以在程序运行后随时更改设置。图1 串口参数设置() 串口在进行串口操作时,尤其是在调试期间,需要知道串口的收发数据。本DLL提供串口收发数据的显示界面。
图2 串口
图3 串口() 串口串口参数设置文件名为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 提供三个文件Msmulticomms.dll,Msmulticomms.lib和Multicomms.h。在应用时,要把这三个文件拷贝到相应的目录下,并且要作如图4的设置。详见示例工程。
图4 应用工程连接设置界面
三、 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();
打开串口收发数据显示调试界面。
BOOL OnGetPortUse(unsigned int uiCom);.
判断指定串口是否使用。
BOOL OnGetPortExit(unsigned int uiCom);
判断指定串口在本机上是否存在。
void OnPortClose(unsigned int uiCom);
关闭指定串口。
void OnPortOpen(unsigned int uiCom);
打开指定串口。
void OnCloseAllPorts();
关闭所有串口。
void OnOpenAllPorts();
打开所有串口。
欢迎批评指正、来建议!
《技术文档》 2002.10
North Gate Station and all the long distance Intercity, TRANS-province li
文档评论(0)