《在VS(VC)2016中使用MSComm控件实现串口通信的详细步骤》.pdf

《在VS(VC)2016中使用MSComm控件实现串口通信的详细步骤》.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《在VS(VC)2016中使用MSComm控件实现串口通信的详细步骤》.pdf

1. 安装好VS2010 ,网上很多人说使用VC6.0 的mscomm32.ocx 控件,下载并注册,注册过 程看上去还很复杂。我是使用 VS2010 自带的控件,因此没有这些过程,只需要安装好 VS2010 就行了。 2. 建立“基于对话框”的MFC 工程,命名为CommTest,应用程序类型选择“基于对话框” 建立好的工程如下图所示。 3. 删除默认的“确定”,“取消”按钮和静态文本框“TODO:在此放置对话框控件”,添加如 下对话框控件: ① “打开串口”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框, 并在右侧“属性”卡中修改“Caption ”为“打开串口”,修改“ID”为“IDC_BUTTON_OPEN”。 ② “关闭串口”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框, 并在右侧“属性”卡中修改“Caption ”为“关闭串口”,修改“ID”为“IDC_BUTTON_CLOSE”。 ③ “发送”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框,并在 右侧“属性”卡中修改“Caption ”为“发送”,修改“ID”为“IDC_BUTTON_SEND”。 ④ “发送编辑框”。 ⑤ “接受编辑框” 4. 添加串口通信控件。 在对话框上“右键” 对话框右下角(默认在左上角)的电话图标就是串口控件。 5. 给控件添加变量 在控件 电话图标 上“右键” 命名为m_mscomm,点击完成,工程中会自动添加“mscomm.h”和“mscomm.cpp”两 个文件。 6. 给两个编辑框添加成员变量 7. 添加三个按钮的事件 直接“双击”三个按钮,在CommTestDlg.cpp 文件中会增加如下几个函数: void CCommTestDlg::OnBnClickedButtonSend // TODO: 在¨2此??添?¨ 加¨?控?件t通a?§知a处?|理¤¨ 程¨?序¨°代?¨2码 void CCommTestDlg::OnBnClickedButtonOpen // TODO: 在¨2此??添?¨ 加¨?控?件t通a?§知a处?|理¤¨ 程¨?序¨°代?¨2码 void CCommTestDlg::OnBnClickedButtonClose // TODO: 在¨2此??添?¨ 加¨?控?件t通a?§知a处?|理¤¨ 程¨?序¨°代?¨2码 消息映射已经自动关联。 8. 添加串口控件的事件处理程序。 点击“添加编辑”即可,在CommTestDlg.cpp 文件中会增加函数: void CCommTestDlg::OnCommMscomm1 // TODO: 在¨2此??处?|添?¨ 加¨?消?息?é处?|理¤¨ 程¨?序¨°代?¨2码 数据接收将在此函数中进行。 9. 打开串口及串口设置。 void CCommTestDlg::OnBnClickedButtonOpen // TODO: 在此添加控件通知处理程序代码 if m_mscomm.get_PortOpen //如果串口是打开的,则行关闭串口 m_mscomm.put_PortOpen FALSE ; m_mscomm.put_CommPort 1 ; //选择COM1 m_mscomm.put_InBufferSize 1024 ; //接收缓冲区 m_mscomm.put_OutBufferSize 1024 ;//发送缓冲区 m_mscomm.put_InputLen 0 ;//设置当前接收区数据长度为0,表示全部读取 m_mscomm.put_InputMode 1 ;// 以二进制方式读写数据 m_mscomm.put_RThreshold 1 ;//接收缓冲区有1个及1个以上字符时,将引发接收数据的OnComm 事件 m_mscomm.put_Settings _T 9600,n,8,1 ;//波特率9600无检验位,8个数据位,1个停止位 if !m_mscomm.get_PortOpen //如果串口没有打开则打开 m_mscomm.put_PortOpen TRUE ;//打开串口 AfxMessageBox _T 串口1打开成功 ; else m_mscomm.put_OutBufferCount 0 ; AfxMessageBox _T 串口1打开失败 ; 10. 添加关闭串口按钮的消息响应函数 void CCommTestDlg::OnBnClickedButtonClose // TODO: 在此添加控件通知处理程序代码 m_mscomm.put_PortOpen FALSE ;//关

文档评论(0)

qspd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档