预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VC++串口读写编程方法 VisualC++为我们提供了一种好用的ActiveX控件MicrosoftCommunicationsControl(即MSComm)来支持应用程序对串口的访问,在应用程序中插入MSComm控件后就可以较为方便地实现对通过计算机串口收发数据。 要使用ActiveX控件MSComm,程序员必须将其添加入工程,其方法是: (1)单击主菜单project的子菜单AddToproject的ComponentsandControls选项; (2)在弹出的"ComponentsandControlsGallery"对话框中选择RegisteredActiveXControls文件夹中的"MicrosoftCommunicationsControl,version6.0"选项,如下图: 单击其中的"Insert"按钮,MSComm控件就被增加到工程中了。与此同时,类CMSComm的相关文件mscomm.h和mscomm.cpp也一并被加入Project的HeaderFiles和SourceFiles中。当然,程序员可以自己修改文件名。 直接分析mscomm.h头文件就可以完备地获取这个控件的使用方法(主要是public类型的接口函数),下面我们摘取了头文件的主要代码并对其关键部分给出了注释: #if!defined(AFX_MSCOMM_H__)#defineAFX_MSCOMM_H__#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000//MachinegeneratedIDispatchwrapperclass(es)createdbyMicrosoftVisualC++//NOTE:Donotmodifythecontentsofthisfile.Ifthisclassisregeneratedby//MicrosoftVisualC++,yourmodificationswillbeoverwritten.///////////////////////////////////////////////////////////////////////////////CMSCommwrapperclassclassCMSComm:publicCWnd{protected:DECLARE_DYNCREATE(CMSComm)public:CLSIDconst&GetClsid(){staticCLSIDconstclsid={0x648a5600,0x2c6e,0x101b,{0x82,0xb6,0x0,0x0,0x0,0x0,0x0,0x14}};returnclsid;}virtualBOOLCreate(LPCTSTRlpszClassName,LPCTSTRlpszWindowName,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID,CCreateContext*pContext=NULL){returnCreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID);}BOOLCreate(LPCTSTRlpszWindowName,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID,CFile*pPersist=NULL,BOOLbStorage=FALSE,BSTRbstrLicKey=NULL){returnCreateControl(GetClsid(),lpszWindowName,dwStyle,rect,pParentWnd,nID,pPersist,bStorage,bstrLicKey);}//Attributespublic://Operationspublic:voidSetCDHolding(BOOLbNewValue);BOOLGetCDHolding();voidSetCommID(longnNewValue);longGetCommID();voidSetCommPort(shortnNewValue);//设置端口号,如nNewValue=1表示COM1shortGetCommPort();voidSetCTSHolding(BOOLbNewValue);BOOLGetCTSHolding();voidSetDSRHolding(BOOLbNewValue);BOOLGetDSRHolding();voidSetDTREnable(BOOLbNewValue);BOOLGetDTREnable();voidSetHandshaking(longn