【vc++精品源码栏目提醒】:本文主要为网学会员提供“串口调试,助手源程序,及VC编程,详细过程等问题 - 网络与通信”,希望对需要串口调试,助手源程序,及VC编程,详细过程等问题 - 网络与通信网友有所帮助,学习一下!
串口调试助手VC源程序 及编程详细过程 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm 6.打开和设置串口参数 7.发送数据 1.建立项目打开VC6.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类控制对象 打开ClassWizardMember Viariables选项卡选择CSCommTestDlg类为IDC_MSCOMM1添加控制变量m_ctrlComm这时你可以看一看在对话框头文件中自动加入了//AFX_INCLUDES include mscomm.h //AFX_INCLUDES 这时运行程序如果有错那就再从头开始。
4.在对话框中添加控件 向主对话框中添加两个编辑框一个用于接收显示数据ID为IDC_EDIT_RXDATA另一个用于输入发送数据ID为IDC_EDIT_TXDATA再添加一个按钮功能是按一次就把发送编辑框中的内容发送一次将其ID设为IDC_BUTTON_MANUALSEND。
别忘记了将接收编辑框的PropertiesStyles中把Miltiline和Vertical Scroll属性选上发送编辑框若你想输入多行文字也可选上Miltiline。
再打开ClassWizardMember Viariables选项卡选择CSCommTestDlg类 为IDC_EDIT_RXDATA添加CString变量m_strRXData 为IDC_EDIT_TXDATA添加CString变量m_strTXData。
说明 m_strRXData和m_strTXData分别用来放入接收和发送的字符数据。
5.添加串口事件消息处理函数OnComm 打开ClassWizardMessage Maps选择类CSCommTestDlg选择IDC_MSCOMM1双击消息OnComm将弹出的对话框中将函数名改为OnComm好记而已OK。
这个函数是用来处理串口消息事件的如每当串口接收到数据就会产生一个串口接收数据缓冲区中有字符的消息事件我们刚才添加的函数就会执行我们在OnComm函数加入相应的处理代码就能实现自已想要的功能了。
请你在函数中加入如下代码 void CSCommTestDlg::OnComm // TODO: Add your control notification handler code here VARIANT variant_inp COleSafeArray safearray_inp LONG lenk BYTE rxdata2048 //设置BYTE数组 An 8-bit integerthat is not signed. CString strtemp ifm_ctrlComm.GetCommEvent2 //事件值为2表示接收缓冲区内有字符 ////////以下你可以根据自己的通信协议加入处理代码 variant_inpm_ctrlComm.GetInput //读缓冲区 safearray_inpvariant_inp //VARIANT型变量转换为ColeSafeArray型变量 lensafearray_inp.GetOneDimSize //得到有效数据长度 fork0k0chAchach