ImageVerifierCode 换一换
格式:DOCX , 页数:5 ,大小:16.75KB ,
资源ID:5602924      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5602924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VS之MFC串口通信的编写教程精编WORD版.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VS之MFC串口通信的编写教程精编WORD版.docx

1、VS之MFC串口通信的编写教程精编WORD版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】VS之MFC串口通信的编写教程精编WORD版VS2010之MFC串口通信教程说明:本人也是刚刚入门MFC,参照一些资料和源代码就实验做了这么一个串口通信工具!资料来源主要有鸡啄米博客网站,里面有详细的学习教程!网上的VS2010源代码都比较少,建议大家先理解一个源代码的构架和结构再深入学习!本文档可以一步一步教你从建立工程到实验调试,是一个非常完整的教程!非常适合新手练习!贺州学院大学生创新基地实验室在制作串口通信所遇到的问题:编辑框的滚

2、动条不会随着数据的更新保持在最后一行!接下来我们开始讲解MFC串口通信的制作:一、打开VS2010软件,然后新建一个项目,如下图所示;我们要用到就是对话框模块,所以选择如下图所示最大化框最好别选,因为本人现在也没搞出来;点击完成就新建好一个工程了,等资源就绪之后我们就可以进行制作了;我们可以看到就绪之后的界面如下图所示,按照步骤把原来的静态文本框和确定按钮、取消按钮删掉;二、为我们的对话框添加控件添加两个组合边框,并放置好位置;修改组合边框显示的名称;在组合边框里面添加编辑文本框;在这一步一定要小心选择右边的属性;这一步是把串口控件添加到对话框中来;选择我们需要的串口控件如下图所示;三、为编辑

3、框,Combox框,串口控件添加变量;四、为按钮和串口控件添加程序函数void C串口V2Dlg:OnBnClickedButtonOpen()/打开串口按钮程序 / TODO: 在此添加控件通知处理程序代码? CString str,str1,n; /定义字符串 GetDlgItemText(IDC_BUTTON_OPEN,str); CWnd *h1; h1=GetDlgItem(IDC_BUTTON_OPEN); /指向控件的caption if(!m_mscom.get_PortOpen() m_comb2.GetLBText(m_comb2.GetCurSel(),str1);/取得

4、所选的字符串,并存放在str1里面 str1=str1+,+n+,+8+,+1; /这句话很关键 m_mscom.put_CommPort(m_comb1.GetCurSel()+1); /选择串口 m_mscom.put_InputMode(1); /设置输入方式为二进制方式 m_mscom.put_Settings(str1); /波特率为(波特率组合框)无校验,8数据位,1个停止位 m_mscom.put_InputLen(1024); /设置当前接收区数据长度为1024 m_mscom.put_RThreshold(1); /缓冲区一个字符引发事件 m_mscom.put_RTSEna

5、ble(1); /设置RT允许 m_mscom.put_PortOpen(true); /打开串口 if(m_mscom.get_PortOpen() str=_T(关闭串口); UpdateData(true); h1-SetWindowText(str); /改变按钮名称为关闭串口” else m_mscom.put_PortOpen(false); if(str!=_T(打开串口) str=_T(打开串口); UpdateData(true); h1-SetWindowText(str); /改变按钮名称为打开串口 void C串口V2Dlg:OnBnClickedButtonSend(

6、)/发送数据按钮程 / TODO: 在此添加控件通知处理程序代码? UpdateData(true); /更新控件数据 m_mscom.put_Output(COleVariant(m_Editsend);/把发送编辑框的数据发送出去void C串口V2Dlg:OnBnClickedButtonClean()/清除数据按钮程序 / TODO: 在此添加控件通知处理程序代码 m_EditReceive=_T(); /给接收编辑框发送空格符 UpdateData(false); /更新数据void C串口V2Dlg:OnBnClickedButtonClose()/退出按钮程序 / TODO: 在

7、此添加控件通知处理程序代码 if(m_mscom.get_PortOpen() m_mscom.put_PortOpen(false); CDialogEx:OnCancel();void C串口V2Dlg:OnCommMscomm1()/串口控件程序 / TODO: 在此处添加消息处理程序代码 if(m_mscom.get_CommEvent()=2) char str1024=0; long k; VARIANT InputData=m_mscom.get_Input(); /读缓冲区 COleSafeArray fs; fs=InputData; /VARIANT型变量转换为COleSa

8、feArray型变量 for(k=0;kfs.GetOneDimSize();k+) fs.GetElement(&k,str+k); /转换为BYTE型数组 m_EditReceive+=str; / 接收到编辑框里面 /SetTimer(1,10,NULL); /延时10ms UpdateData(false); / 串口选择组合框 CString str; int i; for(i=0;i15;i+) str.Format(_T(com %d),i+1); m_comb1.InsertString(i,str); m_comb1.SetCurSel(0);/预置COM口 /波特率选择组合

9、框 CString str1=_T(300),_T(600),_T(1200),_T(2400),_T(4800),_T(9600), _T(19200),_T(38400),_T(43000),_T(56000),_T(57600),_T(115200); for(int i=0;iSetDlgItemTextW(IDC_EDIT1,m_EditReceive);/将m_EditReceive内容显示到ID为IDC_EDIT1的编辑框的最后位置m_Edit.LineScroll(m_Edit.GetLineCount()-1,0);/将垂直滚动条滚动到最后一修改一下接收编辑框的属性,发送编辑框不用做修改;再调试一下发现问题解决了!六、修改图标和软件信息我们去到项目所在的文件夹中,如下图所示;The End! 作者:刘小二 2014年5月2日星期五

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1