首页 MFC串口通信程序基于Vc及Serialport类课件PPT模板

MFC串口通信程序基于Vc及Serialport类课件PPT模板

举报
开通vip

MFC串口通信程序基于Vc及Serialport类课件PPT模板(Excellenthandouttrainingtemplate)MFC串口通信程序基于Vc及Serialport类软件环境Windows7MicrosoftVisualStudio2012CSerialPort类(定义了串口变量和通信方法)链接地址:编程步骤新建一个MFC项目命名编程步骤编程步骤基本的窗口对话框编辑器,直接拖动到窗口中去编程步骤用到的几种控件布局后的界面编程步骤为每一个控件命名在控件上右键单击-属性编程步骤命名完成后的窗口为组合框添加数据解压CSerialPort并将(.h)和(.cpp)文件复...

MFC串口通信程序基于Vc及Serialport类课件PPT模板
(Excellenthandouttrainingtemplate)MFC串口通信程序基于Vc及Serialport类软件环境Windows7MicrosoftVisualStudio2012CSerialPort类(定义了串口变量和通信方法)链接地址:编程步骤新建一个MFC项目命名编程步骤编程步骤基本的窗口对话框编辑器,直接拖动到窗口中去编程步骤用到的几种控件布局后的界面编程步骤为每一个控件命名在控件上右键单击-属性编程步骤命名完成后的窗口为组合框添加数据解压CSerialPort并将(.h)和(.cpp)文件复制到工程中去。主对话框头文件中引入#include"SerialPort.h"编程步骤编程步骤在对话框c文件中声明串口类对象CSerialPortm_SerialPort定义一个布尔变量 BOOL m_bPortOpen//用来表示标志串口是否打开编程步骤给控件添加变量在控件上右键单击-添加变量编程步骤给控件添加变量:编辑框编辑框只需关联Value型变量变量名用于程序中赋值时调用编程步骤给控件添加变量:组合框ComboBox需要添加控制变量变量名用于获取索引值编程步骤将各个控件的变量关联如下:m_ctrlComPortm_ctrlBaudRatem_ctrlDataBitsm_ctrlPairtym_strTxMsgm_strRxMsgm_ctrlStopBitsm_strBaudRatem_strPairtyControl型变量Value型变量Value型变量编程步骤对写好的对话框进行一个初始化在初始化函数OnInitDialog()中添加如下语句:BOOLC串口通信程序Dlg::OnInitDialog(){CDialogEx::OnInitDialog();m_ctrlComPort.SetCurSel(0);//设置默认的索引值m_ctrlBaudRate.SetCurSel(0);m_ctrlPairty.SetCurSel(0);m_ctrlDataBits.SetCurSel(3);m_ctrlStopBits.SetCurSel(0);GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);//把窗口中的“打开串口”置为活动的可操作状态GetDlgItem(IDC_BUTTON2)->EnableWindow(FALSE);//把窗口中的“关闭串口”置为灰色的不可操作状态编程步骤向对话框头文件中添加串口接收字符函数的消息响应声明响应Cserialport类中的消息响应函数-OnComm接收数据编程步骤然后再向对话框CPP文件中添加OnComm函数的消息映射响应Cserialport类中的消息响应函数-OnComm接收数据编程步骤接着,在对话框CPP文件中加入函数OnComm()的实现至此,每当串口接收缓冲区中有一个字符时,就会产生一个WM_ONCOMM_RXCHAR消息,触发OnComm()函数,这时就可以在函数中进行数据处理响应Cserialport类中的消息响应函数-OnComm接收数据编程步骤编写按钮控件消息响应处理函数-打开串口编程步骤编写按钮控件消息响应处理函数-打开串口voidC串口通信程序Dlg::OnBnClickedButton1(){intSelPort,SelBaudRate,SelDataBits,SelStopBits;charSelParity;//定义字符型变量SelPort=m_ctrlComPort.GetCurSel()+1;//得到串口号;GetCurSel()得到的是索引值(0-Max)SelStopBits=m_ctrlStopBits.GetCurSel()+1;//得到停止位SelDataBits=m_ctrlDataBits.GetCurSel()+5;//得到数据位UpdateData(TRUE);//把选定值写入变量SelBaudRate=atoi(m_strBaudRate);//得到波特率值;atoi是将字符型转整型函数(’9600’->9600)SelParity=m_strPairty.GetAt(0);//获得数据位;GetAt返回的是字符串的第一个字符值if(m_SerialPort.InitPort(this->GetSafeHwnd(),SelPort,SelBaudRate,SelParity,SelDataBits,SelStopBits,EV_RXFLAG|EV_RXCHAR,512)){m_SerialPort.StartMonitoring();//启动串口通信检测线程函数m_bPortOpen=TRUE;//指示串口已打开UpdateData(FALSE);}else{AfxMessageBox("没有发现此串口或者被占用");//返回一个提示窗口m_bPortOpen=FALSE;//指示串口已关闭}GetDlgItem(IDC_BUTTON1)->EnableWindow(!m_bPortOpen);//根据串口开闭的情况,禁用或使能按钮GetDlgItem(IDC_BUTTON2)->EnableWindow(m_bPortOpen);//根据串口开闭的情况,禁用或使能按钮}编程步骤编写按钮控件消息响应处理函数-关闭串口voidC串口通信程序Dlg::OnBnClickedButton2(){m_bPortOpen=FALSE;//指示串口已关闭GetDlgItem(IDC_BUTTON1)->EnableWindow(!m_bPortOpen);//使能“打开串口”按钮GetDlgItem(IDC_BUTTON2)->EnableWindow(m_bPortOpen);//禁用“关闭串口”按钮}以同样的方法打开“关闭串口”按钮的消息函数,插入下面语句编程步骤编写按钮控件消息响应处理函数-发送以同样的方法打开“发送”按钮的消息函数,插入下面语句voidC串口通信程序Dlg::OnBnClickedButton3(){if(!m_bPortOpen)//检测串口是否打开return;//如果关闭,则结束函数else//如果打开,则执行下面语句UpdateData(TRUE);//读入编辑框的数据(把编辑框中的字符写入变量)m_SerialPort.WriteToPort((LPCTSTR)m_strTxMsg);//调用函数发送数据}编程步骤编写按钮控件消息响应处理函数-清空以同样的方法打开“清空”按钮的消息函数,插入下面语句voidC串口通信程序Dlg::OnBnClickedButton4(){SetDlgItemText(IDC_EDIT2,NULL);//IDC_EDIT2为发送框的ID}编程步骤发布程序编程步骤至此,简单的串口通信程序就编写完毕,不正之处请批评指正。演讲结速,谢谢观赏!Thankyou.PPT常用编辑图使用方法1.取消组合2.填充颜色3.调整大小选择您要用到的图标单击右键选择“取消组合”右键单击您要使用的图标选择“填充”,选择任意颜色拖动控制框调整大小商务图标元素商务图标元素商务图标元素商务图标元素
本文档为【MFC串口通信程序基于Vc及Serialport类课件PPT模板】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
庆军1965
主任医生
格式:ppt
大小:3MB
软件:PowerPoint
页数:0
分类:企业经营
上传时间:2021-10-15
浏览量:8