欢迎来到天天文库
浏览记录
ID:34167915
大小:847.50 KB
页数:8页
时间:2019-03-04
《vc++多串口控制解决方案0版》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《VC++多串口控制解决方案1.0版》技术文档声 明本程序是作者参与课题和产品开发结果的结晶,他定能帮您节省宝贵的开发时间和财富。本DLL的使用是收费的,DLL收费人民币50元,DLL源代码收费人民币100元,并提供免费技术支持和升级。有意者请按以下方式联系本人。作者:许士敏地址:安徽省合肥市潜山路342号205室邮编:230037Website:http://www.ChinaRTU.comEmail: xsmeei@163.com Huayong@chinartu.com招商银行“一卡通”:055100585612联系
2、电话:13956008592在现代的各种实时监控系统和通信系统中,在Windows9X/NT下利用VC++对RS-232串口编程是常用的手段。本程序以动态连接库(DLL)形式实现对多串口的操作,注意:在使用本DLL之前,必须安装MicrosoftCommunicationControlMSCOMM32.OCX。注册方法有二:1.把MSCOMM32.OCXCOPY到WINDOWS的SYSTEM目录下,用regsvr32MSCOMM32.OCX注册.具体如:C:COPYMSCOMM32.OCXC:WINSYSTEMC:REG
3、SVR32SMSCOM.OCX2.安装VC后就已自动注册了MSCOMM32.OCX。一、多串口DLL功能(一)串口参数设置 对RS-232-C串行端口进行参数配置是使用串口进行通讯的必要条件。而且由于场合不同、用途、功能的不同对串口也采取不同的配置方式,为了使本程序更灵活,适应面更广,采取将所有的可能参数都预先设置在几个组合框中,可以在程序运行后随时更改设置。图1串口参数设置界面串口号:自动检测计算机存在的串口,但只能控制从COM1到COM5,能满足绝大多数人的需求。是否使用:如果选中,则表示要对该串口进行初始化,以及收发控制
4、。否则表示对计算机存在的串口不操作。波特率:从1200bps到57600bps。校验:有无校验(NOPARITY)。数据位:7位或是8位。停止位:1位、1.5位或是2位。流控制:有无流控制(flow)。(二)串口收发数据调试显示在进行串口操作时,尤其是在调试期间,需要知道串口的收发数据。本DLL提供串口收发数据的显示界面。图2串口收发数据ASCII显示界面图3串口收发数据16进制显示界面(三)串口参数设置文件串口参数设置文件名为MscommSet.ini,该文件保存在工程工作目录下,如果没有该文件,串口按缺省值设置,在设置串口参
5、数后,自动生成该设置文件。其内容如下:[0串口信息]use=1baud=2400port=1databits=8stopbits=1flow=0parity=N[1串口信息]use=1baud=2400port=2databits=8stopbits=1flow=0parity=N[2串口信息]use=0baud=2400port=1databits=8stopbits=1flow=0parity=N[3串口信息]use=0baud=2400port=4databits=8stopbits=1flow=0parity=N[4串口
6、信息]use=0baud=2400port=1databits=8stopbits=1flow=0parity=N二、多串口DLL的作用本DLL提供三个文件Msmulticomms.dll,Msmulticomms.lib和Multicomms.h。在应用时,要把这三个文件拷贝到相应的目录下,并且要作如图4的设置。详见示例工程。图4应用工程连接设置界面三、多串口DLL主要函数使用说明1.BOOLOnCommsCreate(CWnd*pParentWnd);创建串口,本DLL同时创建5个串口。pParentWnd为窗口指针,一般为
7、this。2.BOOLOnComportOpen();根据串口设置文件中的设置参数,打开多串口。3.voidOnCommSend(unsignedintuiCom,CStringsSendData,unsignedintuiKind);往指定串口发送数据。其中uiCom为指定的串口,注意串口1的uiCom为0;sSendData为要发送的字符串;uiKind:发送数据类型:0:原始数据 1:加回车符 2:加校验和。4.voidOnMscommsSet();打开串口设置界面,改变串口设置,并保存到设置文件中。5.BOOLOnCom
8、portTimerProcess(CStringstrProcess[MaxPort]);判断串口接收的一组数据是否已经接收完。6.BOOLOnPopupDialog();打开串口收发数据显示调试界面。7.BOOLOnGetPortUse(unsignedint
此文档下载收益归作者所有