使用MFC来编写串口程序,需要有一定的c++语言功底,要清楚MFC代码的组织方式。
鉴于绝大多数的教程还停留在vc6.0这个骨灰级的环境,特在此说明一下VC2012下的代码组织方式,和大家一起交流下~
本文略去建立窗体的步骤,但是给出了窗体的样式,不会建立窗体的童鞋可以百度一下就知道了,很简单的,所以就不多说啦 ~
0、准备工作
使用的通讯控件是:Microsoft Communications Control, Version 6.0
需要安装同时VC6.0和VS2012才可以使用这个通讯控件。
工具->选择工具箱->COM组件 添加到工具条中,然后再添加到窗体上,任何位置都OK,编译运行以后不显示。
新建MFC窗体,win32下,基于对话框,命名为MFC(建议和我一样,这样方便些。)。应该都知道(不知道的可以参考百度文库里,好多,不多说了)
本代码是最简单的串口程序,参数设置都在代码中提醒。只需要设置COM号
窗体样式:
可以核对一下,头文件名:
MFC.h
MFCDlg.h // main frame 主要窗体、父窗体的头文件,主要的修改和添加代码区
Resource.h
stdafx.h
targetver.h
源文件名:
MFC.cpp
MFCDlg.cpp // main frame 主要窗体、父窗体的cpp文件,主要的修改和添加代码区
stdafx.cpp
一、准备工作
1.设置控件属性
各ID如下:
IDC_COMBO_CommSeclect 属性里面的Data:COM1;COM2;COM3;COM4;COM5;COM6; // 注意使用;分隔
2.使用 项目->类向导 定义变量如下
编译一下,应该不会有错。
下面准备添加代码
主要的代码区是 MFCDlg.h 和 MFCDlg.cpp 特别要注意,不要乱 ~
二、准备添加代码,接收下位机发来的数据并显示
1.MFCDlg.cpp中初始化
函数名:
BOOL CMFCDlg::OnInitDialog()
添加如下:
// TODO: 在此添加额外的初始化代码
m_ComboBox.SetCurSel(2);//打开软件时串口选择框默认显示COM1 子选项编号的排序是从0开始的。
2.MFCDlg.cpp中BUTTON1消息响应函数 // 打开串口
双击绘图窗口里的BUTTON1控件进入代码编辑区添加代码如下:(想省事,直接看下面的代码)
或者进入类向导(建议此方法,有利于体会MFC的代码组织方式)
添加代码如下: // 接收下位机的