VC中如何使用Mscomm串口控件.doc
文本预览下载声明
VC串口通信中使用Mscomm串口控件操作步骤
时间:2011-10-21 10:10来源:未知 作者:admin 点击: 609次
------分隔线----------------------------
使用Mscomm串口控件之前应确保它已经在本机上安装且注册,VC串口通信技术网有文章介绍mscomm串口控件的注册方法,本站出售的资料“VC 串口通信资料集”也专门收到了此控件,不过在安装了VC后都会自动安装此控件,但是发布您的串口应用程序时就得考虑如何在目标计算上机上注册了,参考本站文章:串口控件MSCOMM的注册方法(使用MSCOMM串口控件程序的发布问题) 。
Mscomm不仅是一个VC 串口控件,由于它是基于Activex的,所以也可以在VB、Deliph、C++ Builder等其它可以使用Activex控件的开发工具中使用,最重要的一点是它是微软官方的控件,所以有很多人在使用它。下面介绍如何在VC6工程中使用mscomm串口控件。
1、建立项目:
打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest;
2、在项目中插入MSComm控件
选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。 选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了),
这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。
3、利用ClassWizard定义CMSComm类控制对象
打开ClassWizard-Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头文件中自动加入了//{{AFX_INCLUDES() #i nclude mscomm.h //}}AFX_INCLUDES 。
4、在对话框中添加控件
向主对话框中添加两个编辑框,一个用于接收显示数据ID为IDC_EDIT_RXDATA,另一个用于输入发送数据,ID为IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其ID设为IDC_BUTTON_MANUALSEND。别忘记了将接收编辑框的Properties-Styles中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。
再打开ClassWizard-Member Viariables选项卡,选择CSCommTestDlg类, 为IDC_EDIT_RXDATA添加CString变量m_strRXData, 为IDC_EDIT_TXDATA添加CString变量m_strTXData。说明: m_strRXData和m_strTXData分别用来放入接收和发送的字符数据。
5、添加串口事件消息处理函数OnComm()
打开ClassWizard-Message Maps,选择类CSCommTestDlg,选择IDC_MSCOMM1,双击消息OnComm,将弹出的对话框中将函数名改为OnComm。
这个函数是用来处理串口消息事件的,如每当串口接收到数据,就会产生一个串口接收数据缓冲区中有字符的消息事件,我们刚才添加的函数就会执行,我们在OnComm()函数加入相应的处理代码就能实现自已想要的功能了。请你在函数中加入如下代码:
void CSCommTestDlg::OnComm()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
显示全部