版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.网络编程与实践实验报告实验内容:串口通信编程学号:S201502189姓名:职荣豪日期:2015-9-28一、 实验要求使用VS2010编写基于对话框的MFC应用程序,两个窗口分别使用两个串口,使得这两个窗口可以进行通信,包括数据的发送与接收。二、 实验原理本实验使用Microsoft Communications Control控件,利用这个ActiveX控件,只需要编写少量代码即可轻松进行通信。该控件相关的函数如下:put_CommPort:设置串口号put_Settings:以字符串的形式设置波特率、奇偶校验位(n-无校验,e-偶校验,o-奇校验)、数据位数、停止位数put_Input
2、Mode:设置接收数据的类型(0-文本类型,1-二进制类型)put_InputLen:设置从接收缓冲区读取的字节数,0表示全部读取put_InBufferSize:设置接收缓冲区大小put_OutBufferSize:设置发送缓冲区大小put_RThreshold:设定当接收几个字符时触发OnComm事件,0表示不产生事件,1表示每接收一个字符就产生一个事件put_SThreshold:设定在触发OnComm事件前,发送缓冲区内所允许的最少的字符数,0表示发送数据时不产生事件,1表示当发送缓冲区空时产生OnComm事件put_PortOpen:打开或关闭串口,传入参数为true时打开串口,传入
3、参数为false时关闭串口get_CommEvent:获得串口上刚发生的事件,事件值为2表示接收到数据get_InBufferCount:获得缓冲区中的数据位数get_Input:获取缓冲区数据,返回类型为VARIANTput_Output:发送数据三、 设计思路需要添加一个Microsoft Communications Control控件,用于进行串口通信。由于要求同一程序可运行两个窗口进行相互通信,需要两个窗口开启两个不同串口,故需要添加一个Edit Control控件用于输入串口号,并添加打开串口按钮,在点击该按钮时对串口控件的参数进行设置并开启串口。同时添加关闭串口按钮,点击后关闭串
4、口并可以对串口号进行修改。需要添加两个Edit Control 分别用于显示接收到的数据以及输入要发送的数据。需要添加一个发送按钮,点击后发送输入的数据。四、 实验步骤1. 建立基于对话框的MFC应用程序2. 添加界面控件并设置ID与Caption添加Microsoft Communications Control控件,用于进行串口通信添加一个Edit Control控件,用于输入串口号,ID设置为IDC_PORT添加一个Static Text控件,用于标注端口号,将Caption设置为“串口号:”添加两个按钮,分别用于打开串口、关闭串口。IDC分别设置为IDC_BTN_OPEN、IDC_BT
5、N_CLOSE,Caption分别设置为“打开”、“关闭”添加两个Edit Control,分别用于显示接收到的数据以及输入要发送的数据,ID分别设置为IDC_RECEIVE、IDC_SEND添加两个Static Text控件,用于标注接收区与发送区,Caption分别设置为“接收区”、“发送区”添加一个按钮用于发送数据,ID设置为IDC_BTN_SEND,Caption设置为“发送”调整控件的大小与位置。完成后如图: 3. 给控件绑定变量右键单击Microsoft Communications Control控件,选择“添加变量”,变量名为m_com打开类向导给控件添加变量:给IDC_POR
6、T绑定变量,用于存放输入的端口号,数据类型为int,变量名为m_port给IDC_RECEIVE绑定变量,用于存放接收到的数据,数据类型为CString,变量名为m_strReceive给IDC_SEND绑定变量,用于存放输入的待发送的数据,数据类型为CString,变量名为m_strSend4. 给控件添加事件响应函数右键单击Microsoft Communications Control控件,选择“添加事件处理程序”,点击“添加编辑”,生成响应函数,此函数用于接收数据。在函数中添加以下代码:UpdateData(TRUE);/更新m_strReceive的值int nEvent = m_c
7、om.get_CommEvent();/获取事件值if(nEvent = 2) /时间值为2,此时为收到数据int k = m_com.get_InBufferCount();/获取缓冲区位数if(k pvData;/获取接收到数据的字符数组的首地址*(str + k) = 0;/字符数组最后一位的下一位设置为0,为字符串的结尾标志m_strReceive += (const char *) str;/在用于显示的字符串末尾添加刚接收到的字符串UpdateData(FALSE);/将m_strReceive的值显示到控件中双击IDC_BTN_OPEN控件,即“打开”按钮,生成响应函数,此函数用
8、于设置串口参数并打开串口。在函数中添加以下代码:UpdateData(TRUE);/更新m_port的值if(m_port EnableWindow(FALSE);/打开按钮设为不可用GetDlgItem(IDC_BTN_CLOSE)-EnableWindow(TRUE);/关闭按钮设为可用GetDlgItem(IDC_BTN_SEND)-EnableWindow(TRUE);/发送按钮设为可用双击IDC_BTN_CLOSE控件,即“关闭”按钮,生成响应函数,该函数用于关闭串口。在函数中添加以下代码:m_com.put_PortOpen(false);/关闭串口GetDlgItem(IDC_B
9、TN_OPEN)-EnableWindow(TRUE);/打开按钮设为可用GetDlgItem(IDC_BTN_CLOSE)-EnableWindow(FALSE);/关闭按钮设为不可用GetDlgItem(IDC_BTN_SEND)-EnableWindow(FALSE);/发送按钮设为不可用双击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);/发送按钮设为不可用五、 实验结果对话框1 运行结果如下:对话框2 运行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川泸州市龙马潭区第二人民医院招收见习人员23人笔试模拟试题及答案解析
- 2026重庆飞驶特人力资源管理有限公司成都分公司外派至四川某高速公路运行监测调度中心监控员招聘2人笔试参考题库及答案解析
- 2026中国科大基本建设处劳务派遣岗位招聘4人笔试模拟试题及答案解析
- 2026上海市商业学校工作人员公开招聘笔试备考题库及答案解析
- 2026年云南国土资源职业学院单招职业适应性测试题库附答案详细解析
- 2026中华全国总工会所属事业单位面向社会招聘22人笔试备考题库及答案解析
- 2026年3月广东广州市天河第三实验幼儿园编外聘用制专任教师招聘1人笔试备考试题及答案解析
- 2026广东第二师范学院B类岗位管理人员招聘3人笔试备考试题及答案解析
- 2026年浙教版重点名校初三下学期教学质量监测(一)英语试题试卷含解析
- 河北省石家庄市新乐市重点名校2026年初三5月阶段性教学质量检测试题英语试题理含解析
- 跨界合作营销模式在汽车行业中的应用可行性研究报告2025
- 2026年湖南铁道职业技术学院单招职业适应性测试题库及答案详解一套
- 培训老师美术上课流程
- 健康评估神经系统
- 药店医保人员合同范本
- DB41∕T 2230-2022 全自动水文缆道远程测流规程
- 电厂设备维护技术与培训教程
- 2025年大学生国家安全知识竞赛考试试题及答案
- 2026 年广西普通高等教育专升本考试(含高职升本)新大纲 22公共管理与服务大类 专业基础综合课合卷 第 1 套模拟考试试卷(含答案解析)
- 2025国考中国民用航空华东地区管理局面试试题及答案
- 2025-2030中国电子体温计行业市场全景调研及投资价值评估咨询报告
评论
0/150
提交评论