VC上位机MFC利用串口控件发送接收数据程序代码_第1页
VC上位机MFC利用串口控件发送接收数据程序代码_第2页
VC上位机MFC利用串口控件发送接收数据程序代码_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、打开VC+6.0,建立一个基丁对话框的MF®用程序。菜单中依次选择Project->AddToProject->ComponentsandControlsrosoftVisualC+-FestCom-rc-1DD_TESTCOM_DIALDG(Dialog)iclassutDIg3ommialslEx|AddtqPrcjett*Deperidenci&?,.HSettings.ExportMakafila.Alt+F7InsertProjectintoWorkspace.IjectBuildLayoutToolsWindoiwHelpSetAct

2、iveProject瓠CreateGraphfstrMusii;New.口Net;Fcilderni.噎Files,,.i建旦就.3Connectiont.融。响匹酉ndCgntml乳.|HL在弹出的ComponentsandControlsGallery窗口中双击RegisteredActiveXControls文件夹选中MicrosoftCommunicationsControl,version6.0控件,如下图,点击Insert添加ComponentsandControlsGalleryCh(kD&&acomponenttoinsertintoyourproject:童我

3、范围:._?EegiitQrftiActivalControls,8匡)廿回,.迎。r*oftCanmunicatJoreCortroL,version6.CMicrosoftDD5回MicrosoftDDS80MicrosoftForm舞.0CheckEox通中这个HPlicrosofl:Forms巴日ComboBoLJMicrosoftFarms2,0ComnfiandButton,|刈1网心站oftForms2.0FMicrosoftFomns2.0IiAMicrosoftForms2r0L幽Miu蓝oftFofef2.0LrMicrosoftForms巴。,MicrosoftForms

4、2.0CMicrosoftC0mmuilicationsc皿mLversiInsertMicrosoftCommControl6.QClosePathtocontrol:|CAWINDOWSsystem32mscomm32.oexMoreInfo在这里如果没有找到MicrosoftCommunicationsControl,version6.0么办?如果没有,说明这个控件还没有注册。那么需要先注册此控件,方法如下:开始->运行中输入regsvr32mscomm32.ocx点击确定注册添加控件后会弹出一qt认框MicrosoftVisualE+L2昼Insertthiscomponent?

5、点击“确定”再点击"OK",控件就添加成功了ST4DIX函圃兮ARH“一睡ab|O向ffl把此控件拖入界面中,利用MFCClassWizard添加成员变量(我在这里用的变量名是mmsCorfl,变),如图然后在控件的届性里进行一些必要的配置:CommPortS置申口号InputMode设置为1-Binary,表示以二进制方式检取数据RThreshold设置为1,表示每当申口接收缓冲区中有多丁或等丁1个字符时将引发一个接收数据的OnComiJ件其它的用默认值。也可以在OnInitDialog()函数中用代码设置,如下:m_msCom.SetCommPort(1);/指定申口号

6、为1(视实际情况而定)if(m_msCom.GetPortOpen()m_msCom.SetPortOpen(FALSE);m_msCom.SetInputMode(1);/1:表示以二进制方式检取数据m_msCom.SetRThreshold(1);/参数1表示每当申口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnCom扉件设置好以后,要在程序的开始打开申口,不然是没发使用的。在OnInitDialog中加入以下代码:m_msCom.SetPortOpen(TRUE);/打开申口m_msCom.GetInput();/先预读缓冲区以活除残留数据OK,在你需要的地方可以随时发送申口

7、数据了,很简单:m_msCom.SetOutput(COleVariant(TXData);/发送数据TXData接收申口数据:首先要添加申口事件消息处理函数,双击控件,弹出添加成员函数对话框,我们用默认的函数名OnOnCommMscomm1里也可以更改函数名。这个函数是用来处理申口消息事件的,如每当申口接收到数据(正如我们前面设置的RThreshold,每当申口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComi#件),就会产生一个申口接收数据缓冲区中有字符的消息事件,刚才添加的函数就会执行,我们在OnOnCommMscom加入相应的处理代码就能实现自已想要的功能了。在该函数中加入如下代码以接收数据:/TODO:Addyourcontrolnotificationhandlercodehereif(m_msCom.GetCommEvent(=2)/事件值为2表示接收缓冲区内有字符Sleep(100);VARIANTrec_data;intdata_len;charcData1024;rec_data=m_msCom.GetInput();/读取缓冲区data_len=rec_data.parray->rgsabound->cElements;memcpy(cData,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论