保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

在VC++中用ActiveX控件实现与单片机的串行通信


1.创建一个基于对话框的应用程序

打开VC++6.0集成开发环境,选择菜单项File/New,在出现的对话框中选中Projects标签中的MFC AppWizard(exe),然后在Project Name框中填入MyCOMM(可根据需要命名),之后点OK按钮。在接着出现的对话框中选中Dialog Based项,然后点NEXT按钮。以下的各对话框都按照缺省设置,这样即可生成一个基于对话框的应用程序。在资源编程器中会出现其对话框模板。

2.插入MSCOMM控件

选择菜单项Project/Add to project/Components and Controls…,在弹出的对话框中选择Registered ActiveX Controls文件夹下的Microsoft Communications Control,version6.0,然后按下Insert按钮,接着会弹出一个对话框,提示生成的类名及文件名,按OK按钮即可实现控件的插入。这时在对话框的控件工具栏 上会多出一个电话机模样的控件图标,Workspace的Classview中也多了一个类CMSComm。

此时即可将MSCOMM控件加入到对话框模板,加入方法与其他控件一样。然后还要在对话框类中相应加入一个成员变量,此处我们将其命名为m_comm。加入方法为:首先,在对话框模板中,用鼠标右键点击该控件,选择ClassWizard,在出现的对话框的Member Variables标签的Control Ids项下,选中IDC_MSCOMM1。然后,按Add Variable…按钮,在出现的对话框的Member Variable Name项中输入m_comm。最后,按OK按钮即可。

3.设置属性

可以在两个地方对控件的属性进行设置:

(1)对话框资源编辑器中。在对话框模板上,用右键单击MSCOMM控件,然后选择Properties…菜单项,最后便可设置各项属性。此处只对以下几处进行改动,其他接受缺省设置:Rthershold:1,InputLen:1,DTREnable:不选,InputMode:1-Binary。

(2)对话框类的OnInitDialog()函数中。下面是以上设置的函数实现:

BOOL CMyCOMMDlg::OnlnitDialog()

{

CDialog::OnlnitDialog();

//此处为应用框架自动生成代码,不予列出

//TODO:Add extra initialization here

m_comm.SetCommPort(1);//使用串口1

m_comm.SetSettings("9600,N,8,1");

//波特率为9600,无奇偶校验,8位数据位,1位停止位

m_comm.SetRThreshold(10); //每接收10个字符就触发1次接收事件

m_comm.SetSThreshold(0); //不触发发送事件

m_comm.SetInputLen(10); //每次读操作从缓冲区中取10个字符

m_comm.SetInputMode(1); //二进制数据传输形式

m_comm.SetPortOpen(TRUE); //打开串口

return TRUE;//return TRUE unless you set the focus to a control

}

4.发送二进制数据

如果需要发送二进制数据,可将数据作如下处理。具体代码如下:

CB

《在VC++中用ActiveX控件实现与单片机的串行通信(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/178303.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。