




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络编程与实践实验报告 实验内容:串口通信编程 学号: S201502189 日期: 2015-9-28 精选文档 实验要求 使用VS2010编写基于对话框的 MFC应用程序,两个窗口分别使用两个串口,使得这两 个窗口可以进行通信,包括数据的发送与接收。 实验原理 本实验使用 Microsoft Communications Control控件,利用这个 ActiveX控件,只需要编 写少量代码即可轻松进行通信。 该控件相关的函数如下: put_Com mPort:设置串口号 put_Settings :以字符串的形式设置波特率、奇偶校验位(n-无校验,e-偶校验,o-奇校 验)、数据位数、停
2、止位数 putnputMode :设置接收数据的类型(0-文本类型,1-二进制类型) putnputLen :设置从接收缓冲区读取的字节数,0表示全部读取 putnBufferSize :设置接收缓冲区大小 put_OutBufferSize :设置发送缓冲区大小 put_RThreshold :设定当接收几个字符时触发On Comm事件,0表示不产生事件,1表 示每接收一个字符就产生一个事件 put_SThreshold :设定在触发 On Comm事件前,发送缓冲区内所允许的最少的字符数, 0表示发送数据时不产生事件,1表示当发送缓冲区空时产生On Comm事件 put_PortOpen
3、:打开或关闭串口,传入参数为true时打开串口,传入参数为false时关 闭串口 get_CommEvent :获得串口上刚发生的事件,事件值为2表示接收到数据 get_lnBufferCount :获得缓冲区中的数据位数 get_lnput :获取缓冲区数据,返回类型为 VARIANT put_Output :发送数据 需要添加一个 Microsoft Communications Control控件,用于进行串口通信。 由于要求同一程序可运行两个窗口进行相互通信,需要两个窗口开启两个不同串口,故 需要添加一个Edit Control控件用于输入串口号,并添加打开串口按钮,在点击该按钮时对
4、串口控件的参数进行设置并开启串口。同时添加关闭串口按钮,点击后关闭串口并可以对串 口号进行修改。 需要添加两个Edit Control分别用于显示接收到的数据以及输入要发送的数据。 需要添加一个发送按钮,点击后发送输入的数据。 四、 实验步骤 1.建立基于对话框的 MFC应用程序 2.添加界面控件并设置ID与Caption 5 添加 Microsoft Communications Control控件,用于进行串口通信 添加一个 Edit Control控件,用于输入串口号, ID 设置为 IDC_PORT 添加一个Static Text控件,用于标注端口号,将 Caption设置为“串口号:
5、” 添加两个按钮,分别用于打开串口、关闭串口。 IDC_BTN_CLOSE Caption分别设置为“打开”、“关闭” IDC 分另ij设置为 IDC_BTN_OPEN 添加两个Edit Control,分别用于显示接收到的数据以及输入要发送的数据, 为 IDC RECEIVE IDC SEND ID分别设置 添加两个Static Text控件,用于标注接收区与发送区,Caption分别设置为“接收区”、“发 送区” 添加一个按钮用于发送数据,ID设置为IDC_BTN_SEND Caption设置为“发送” 调整控件的大小与位置。 完成后如图: I Ba 3.给控件绑定变量 右键单击 Micr
6、osoft Communications Control控件,选择“添加变量” ,变量名为 m_com 打开类向导给控件添加变量: 给IDC_PORT绑定变量,用于存放输入的端口号,数据类型为int, 变量名为m_port 给IDC_RECEIVE绑定变量,用于存放接收到的数据,数据类型为 m_strReceive CString,变量名为 给IDC_SEND绑定变量,用于存放输入的待发送的数据,数据类型为 CString,变量名为 m_strSe nd 挂件ID iIDC_BTN_CLOSE (11DC_BTN_OPEN JtDC_BTN_SEND y IDC.PORT y IDC.RECE
7、IVE * IDCSEND HICON 成員 m hicon int CString CString iTi_5trReceive m 5trSend 4.给控件添加事件响应函数 右键单击 Microsoft Communications Control 加编辑”,生成响应函数,此函数用于接收数据。 在函数中添加以下代码: UpdateData (TRUE; 更新m_strReceive int n Eve nt = m_com get_CommEve nt (); if (n Eve nt = 2) 控件,选择“添加事件处理程序”,点击“添 int k = m_com get_InBuffe
8、rCount(); /位数小于等于0时则返回 if (k pvData ; / 获取接收到数据的字 字符串 *( str + k)= m strReceive 0 ;/字符数组最后一位的下一位设置为0,为字符串的结尾标志 += ( con st char *) str ; /在用于显示的字符串末尾添加刚接收到的 UpdateData ( FALSE); 将m_strReceive 的值显示到控件中 双击IDC_BTN_OPEN控件,即 打开”按钮, 打开串口。 在函数中添加以下代码: 生成响应函数,此函数用于设置串口参数并 UpdateData (TRUE); (m_port EnableWi
9、ndow ( FALSE); GetDlgItem ( IDC_BTN_CLOSE)- EnableWindow ( TRUE); GetDlgItem ( IDC_BTN_SEND)- / 设置输入缓冲区大小为 1024byte / 设置输出缓冲区大小为 1024byte OnCom事 件 OnCom事 件 EnableWindow ( TRUE); / / / 打开按钮设为不可用 关闭按钮设为可用 发送按钮设为可用 双击IDC_BTN_CLOS控件,即 在函数中添加以下代码: 关闭”按钮,生成响应函数,该函数用于关闭串口。 m_com. put_PortOpen ( false ); Ge
10、tDlgItem ( IDC_BTN_OPEN)- GetDlgItem ( IDC_BTN_CLOSE)- EnableWindow ( FALSE); GetDlgItem ( IDC_BTN_SEND)- EnableWindow ( FALSE); / 关闭串口 EnableWindow ( TRUE); / / / 打开按钮设为可用 关闭按钮设为不可用 发送按钮设为不可用 双击IDC_BTN_SEND$件,即“发送”按钮,生成响应函数,该函数用于发送数据。 在函数中添加以下代码: UpdateData ( TRUE); / 更新 m_strSend 的值,读取编辑框内容 m_com. put_Output ( COleVariant ( m_strSend ); / 发送数据 按钮与“发送” 按钮需设为不可用。 5. 在对话框初始化函数中添加额外初始化代码 在对话框刚打开时,此时串口没有开启,故“关闭” 在 OnInitDialog 函数中添加以下代码: GetDlgItem ( IDC_BTN_CLOSE)- EnableWindow ( FALSE); / 关闭按钮设为不可用 GetDlgItem ( IDC_BTN_SEND)- EnableWindow ( FALSE); / 发送按钮设为不可用 五、 实验结果 7 对话框 1 运行结果如下: di 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑工程师岗位面试要点及常见问题解答
- 2025年焊接工艺考试热点钎焊操作规范及安全注意事项
- 2025年水利专业求职者必看初级灌区管理工面试攻略与模拟题解析
- 2025年特岗教师招聘考试指南初中语文教学法
- 2025年旅游策划与管理专业面试预测题及解析
- 2025年信息技术员招聘考试热点解析及模拟题
- 电力交易员基础知识培训课件
- 电刀使用课件
- 电冰箱基础知识培训教材课件
- 2025年特岗教师招聘初中数学面试技巧与预测题解析
- pmc内部培训课件
- 口腔护理教学课件设计与实施要点
- 中医诊所安全管理制度
- 2024年海南三亚市海棠区机关事业单位招聘笔试高频难、易错点备考题库及参考答案详解
- 空管招聘面试题及答案
- 物流投标流程管理制度
- 广东省高州市全域土地综合整治项目(一期)可行性研究报告
- 创伤中心各种管理制度
- 配送企业配送协议书
- 人工智能及机器人课件
- 2024年注会考试《税法》真题及答案
评论
0/150
提交评论