VC60MFC串口通信编写全过程(推荐文档).doc 立即下载
2025-01-15
约1.6万字
约17页
0
224KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

VC60MFC串口通信编写全过程(推荐文档).doc

VC60MFC串口通信编写全过程(推荐文档).doc

预览

免费试读已结束,剩余 12 页请下载文档后查看

10 金币

下载文档

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

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

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

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

其于MFC的串口调试助手编辑过程
新建
打开VC6.0文件新建工程MFCAppWiard(exe)位置(选择保存工程位置)工程名称(输入工程名XXXX)确定选择基本对话框下一步下一步下一步选择(CXXXXDlg)完成确定在生成的基本对话框内将不需要按钮及提示框(自动生成的“确定”“取消”及提示框)删除或修改使用,至此基本框架完成如下图:
此控件(标志)是下面步骤添加进来的串口控件


往生成的基本框架中添加控件
1、因为控件列表框内没有串口通信用到的通信控件,所以要先添加到控件列表框内再将控件添加到基本框内使用,步骤如下:
菜单栏工程添加到工程Componentsandcontrols…RegisteredActiveXControls选择“MicrosoftCommunicationsControl,version6.0”Insert
确定OK关闭此子窗口完成添加操作标志如上图所示。
基本框架
2、将刚才添加添加到控件列表框内的串口控件添加到基本框架内
	点击控件列表框内的串口控件,此时光标变为“十”形,在基本框架内随意划取一矩形区域,即可以添加串口控件,不需要修改此控件的大小及位置,因为程编译运行后此控件是看不到的,步骤结果如下图:







3、继续往基本框架内添加用于编辑发送数据的输入编辑框及输出编辑框,同理选择控件列表框内的“编辑框控件”,以相同的操作即可添加两个编辑窗口及一个按纽控件如下图所示:
选择其中任意一个作为输入编辑框及输出编辑框
	
这两个窗口需要修改大小及位置,因为程序运行后将会显示而串口通信控件则不显示,上图是运行后的效果。
4、对以上四个控件编程步骤如下:
a、右击串口通信控件建立类向导MembervariablesControlIDS中选择IDC_MSCOMM1addvariable…Membervariablename中输入控件变量名m_ctrlComm(变量名可以随意选取,但程序中应与所取变量名一致)OK确定

b、右击编辑框、属性、常规、ID:中输入ID号,此编辑框用于接收显示数据的其ID号为IDC_EDIT_RXDATA(可以随意选取,但程序中应与所取ID号一致),再在此窗口的样式中勾选”多行”,同时将“自动水平滚动(T)”勾选去掉,再勾选“垂直滚动(V)”,此勾选操作是用于垂直多行显示的,按回车后即可输入;同理右击另一编辑框输入ID号为IDC_EDIT_TXDATA此编辑框用于编辑发送数据的,同样也选上用于垂直多行显示,发送框可以不用垂直多行显示;再为按钮控件添加ID号,为IDC_BUTTON_MANUALSEND,并将标题中的“Button1”改为“发送”,功能是按一次就把发送编辑框中的内容发送一次。
C、为以上两个编辑框添加变量,与串口通信控件一样添加,为IDC_EDIT_RXDATA添加CString型变量m_strRXData;为IDC_EDIT_TXDATA添加CString型变量m_strTXData。说明:m_strRXData和m_strTXData分别用来放入接收和发送的字符数据。
D、添加串口事件消息处理函数OnComm()打开ClassWizard->MessageMaps,选择IDC_MSCOMM1,双击消息OnComm,将弹出的对话框中将函数名改为OnComm,(好记而已)OK。
这个函数是用来处理串口消息事件的,如每当串口接收到数据,就会产生一个串口接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行,我们在OnComm()函数加入相应的处理代码就能实现自已想要的功能了。在函数中加入如下代码:
提示1:此句以下才是我们要添加的语句
代码段1:
voidCScommTestDlg::OnComm()
{
	//TODO:Addyourcontrolnotificationhandlercodehere

	VARIANTvariant_inp;//定义一个VARIANT类对象
	COleSafeArraysafearray_inp;//定义一个COleSafeArray对象
	LONGlen,k;
	BYTErxdata[2048];//设置BYTE数组AN8—intterthatisnotsigned.
	CStringstrtemp;
	if(m_ctrlComm.GetCommEvent()==2)//事件值为2表示接收缓冲区内有数据
	{
		////以下你可以根据自己的通信协议加入处理代码
		variant_inp=m_ctrlComm.GetInput();//读缓冲区
		safearray_inp=variant_inp;//VARIANT型变量转换为ColeSafeArray型变量
		len=safearray_inp.GetO
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

VC60MFC串口通信编写全过程(推荐文档)

文档大小:224KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用