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

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

ID:56439089

大小:1.90 MB

页数:10页

时间:2020-06-24

在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf_第1页
在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf_第2页
在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf_第3页
在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf_第4页
在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf_第5页
资源描述:

《在VS(VC)2010中使用MSComm控件实现串口通信的详细步骤.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.安装好VS2010,网上很多人说使用VC6.0的mscomm32.ocx控件,下载并注册,注册过程看上去还很复杂。我是使用VS2010自带的控件,因此没有这些过程,只需要安装好VS2010就行了。2.建立“基于对话框”的MFC工程,命名为CommTest,应用程序类型选择“基于对话框”建立好的工程如下图所示。3.删除默认的“确定”,“取消”按钮和静态文本框“TODO:在此放置对话框控件”,添加如下对话框控件:①“打开串口”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框,并在右侧“属性”卡中修改

2、“Caption”为“打开串口”,修改“ID”为“IDC_BUTTON_OPEN”。②“关闭串口”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框,并在右侧“属性”卡中修改“Caption”为“关闭串口”,修改“ID”为“IDC_BUTTON_CLOSE”。③“发送”按钮,添加方法为从右侧“工具箱”拖放一个“Button”到对话框,并在右侧“属性”卡中修改“Caption”为“发送”,修改“ID”为“IDC_BUTTON_SEND”。④“发送编辑框”。⑤“接受编辑框”4.添加串口通信控件。在对话框上

3、“右键”对话框右下角(默认在左上角)的电话图标就是串口控件。5.给控件添加变量在控件(电话图标)上“右键”命名为m_mscomm,点击完成,工程中会自动添加“mscomm.h”和“mscomm.cpp”两个文件。6.给两个编辑框添加成员变量7.添加三个按钮的事件直接“双击”三个按钮,在CommTestDlg.cpp文件中会增加如下几个函数:voidCCommTestDlg::OnBnClickedButtonSend(){//TODO:在¨²此ä?添¬¨ª加¨®控?件t通ª¡§知a处ä

4、理¤¨ª程¨¬序¨°代䨲

5、码?}voidCCommTestDlg::OnBnClickedButtonOpen(){//TODO:在¨²此ä?添¬¨ª加¨®控?件t通ª¡§知a处ä

6、理¤¨ª程¨¬序¨°代䨲码?}voidCCommTestDlg::OnBnClickedButtonClose(){//TODO:在¨²此ä?添¬¨ª加¨®控?件t通ª¡§知a处ä

7、理¤¨ª程¨¬序¨°代䨲码?}消息映射已经自动关联。8.添加串口控件的事件处理程序。点击“添加编辑”即可,在CommTestDlg.cpp文件中会增加函数:voidCComm

8、TestDlg::OnCommMscomm1(){//TODO:在¨²此ä?处ä

9、添¬¨ª加¨®消?息¡é处ä

10、理¤¨ª程¨¬序¨°代䨲码?}数据接收将在此函数中进行。9.打开串口及串口设置。voidCCommTestDlg::OnBnClickedButtonOpen(){//TODO:在此添加控件通知处理程序代码if(m_mscomm.get_PortOpen())//如果串口是打开的,则行关闭串口{m_mscomm.put_PortOpen(FALSE);}m_mscomm.put_CommPort(1)

11、;//选择COM1m_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(

12、"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.添加关闭串口按钮的消息响应函数voidCCommTestDlg::OnBnClicked

13、ButtonClose(){//TODO:在此添加控件通知处理程序代码m_mscomm.put_PortOpen(FALSE);//关闭串口AfxMessageBox(_T("串口1已关闭"));}11.添加发送按钮消息响应函数voidCCommTestDlg::OnBnClickedButtonSend(){//TODO:在此添加控件通知处理程序代码Upd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。