首页 面向对象实训报告(1)

面向对象实训报告(1)

举报
开通vip

面向对象实训报告(1)学 号xxxxxxxx姓 名 xxxx 指导教师:年 月 日串行通信上位机程序一:基本任务设计一个基于对话框的计算器串行通信上位机程序,实现常用串行通信。二:性能、指标、要求:1.性能:基于VC6.0的MFC编辑框架的串口通信,要求要求独立设计计算器所需的所有按钮,能够实现波特率可变,能够实现串口端口可选,能够实现发送与接收数据的实时显示等基本功能。2.指标:通过基于VC6.0的MFC编辑框架,按照实训要求设计出简单的能完成串口通行所需的按钮功能,能够实现波特率可变,串口端口可选,能实现发送与接收数据的实时显示的基...

面向对象实训报告(1)
学 号xxxxxxxx姓 名 xxxx 指导教师:年 月 日串行通信上位机程序一:基本任务 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个基于对话框的计算器串行通信上位机程序,实现常用串行通信。二:性能、指标、要求:1.性能:基于VC6.0的MFC编辑框架的串口通信,要求要求独立设计计算器所需的所有按钮,能够实现波特率可变,能够实现串口端口可选,能够实现发送与接收数据的实时显示等基本功能。2.指标:通过基于VC6.0的MFC编辑框架,按照实训要求设计出简单的能完成串口通行所需的按钮功能,能够实现波特率可变,串口端口可选,能实现发送与接收数据的实时显示的基本功能。3.要求:(1)按照 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目要求独立设计计算器所需的所有按钮,并完成程序源码编写、调试及关键代码注释。(2)能够实现波特率可变。(3)能够实现串口端口可选。(4)能够实现发送与接收数据的实时显示。三:方案设计:1.方案论证:通过Mscomm控件实现串口间的通信,Mscomm控件提供了一些修改属性的函数,可以对波特率,串口属性进行修改。并能与AccessPort.exe进行数据发送和接收。2.工作原理:(1)目的:通过设计的基于对话框的计算器串口通信上位机程序,实现常用串口通信,能够完成发送和接收,及波特率可变,串口端口可选。(2)波特率的可变和串口端口的可选的分析:通过VC6.0的MFC中的组合框来设计波特率及串口端口的可选,在程序中用switch语句来实现这两个功能的操作。波特率的数据为:2400,4800,9600,115200;串口的端口的数据为:COM1,COM2,COM3,COM4.设计好它们的属性,在程序中就可以对它们进行操作了。(3)发送及接收的文本框的分析:自己设计的串口通信,在发送的文本框中写入 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ,通过发送按钮可以把这些内容发送到AccessPort.exe中,并能显示发送的内容。在AccessPort.exe中写入数据并发送,能够在自己设计的串口中的接收文本框中接收到数据。(4)发送按钮的分析:按下发送按钮,就能把自己设计的串口接收文本框的内容发送到AccessPort.exe中,在AccessPort.exe中,能显示接收到的内容。(5)打开串口按钮的分析:按下打开串口按钮,就能打开相应的串口端口。(6)整体步骤:四:软件设计:按下列图所示建立一个基于对话框的MFC程序点击完成,得到下面的对话框:这样就得到了下图所示的界面右键点击class1的对话框界面,在弹出的菜单中选择属性,打开下面的属性对话框:建立下图所示的对话框控件:各控件属性如下:第一个文本框:第二个文本框:串口的属性:波特率的属性:五:制作与调试过程1.打开串口按钮的程序:voidCClass1Dlg::OnBtnPortopen(){//TODO:AddyourcontrolnotificationhandlercodehereintnIndex,nIndex2;intcom;nIndex=m_combox1.GetCurSel();//获得串口下拉列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 当前值nIndex2=m_combox2.GetCurSel();//获得波特率下拉列表当前值switch(nIndex)//串口的选择{case0:com=1;break;case1:com=2;break;case2:com=3;break;case3:com=4;break;}m_msComm.SetCommPort(com);//获取串口m_msComm.SetInBufferSize(1024);//设置输入缓冲区的大小m_msComm.SetOutBufferSize(512);//设置输出缓冲区的大小if(!m_msComm.GetPortOpen())//判断串口是否打开{m_msComm.SetPortOpen(TRUE);}switch(nIndex)//波特率的选择{case0:m_msComm.SetSettings("2400,N,8,1");break;case1:m_msComm.SetSettings("4800,N,8,1");break;case2:m_msComm.SetSettings("9600,N,8,1");break;case3:m_msComm.SetSettings("115200,N,8,1");break;}m_msComm.SetInputMode(1);//设置二进制的输入方式m_msComm.SetRThreshold(1);//判断缓冲区是否有数据,>1有数据m_msComm.SetInputLen(0);//发送缓冲区清空}2.发送按钮的程序:voidCClass1Dlg::OnBtnSend()//发送数据{//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);//更新编辑框的内容m_msComm.SetOutput(COleVariant(m_strTx));}2.控件的程序:voidCClass1Dlg::OnCommMscomm(){//TODO:AddyourcontrolnotificationhandlercodehereVARIANTvariant_inp;COleSafeArraysafearray_inp;longlen;longi;charrxData;if(2==m_msComm.GetCommEvent()){variant_inp=m_msComm.GetInput();//获得接受到的数据,存在variant_inp变量中safearray_inp=variant_inp;len=safearray_inp.GetOneDimSize();//获得接受数据的长度for(i=0;i 心得体会 决胜全面小康心得体会学党史心得下载党史学习心得下载军训心得免费下载党史学习心得下载 这些实训培养我们的综合运用所学知识,来发现和提出分析以及解决实际问题,这是一个锻炼实践能力的重要环节,是对我们所学习的C应用于实践程序设计中,来实现各种不同的功能,同时也是老师对我们实际学习能力的具体训练以及考察我们动手编程能力的过程。因为第一次接触基于VC6.0的MFC编辑框架的串口通信,刚接到题目的时候,第一感觉就是愣住了,完全不知道怎么用基于VC6.0的MFC来设计串口通信,老师在课堂上演示了一遍,可是太快了,完全记不了,老师对我们说,这是你们第一次接触,因为想培养你们的自学能力,最开始不知道如何下手,在课后我找了关于MFC,串口通信等资料查阅,按照资料书的描述及实例,了解VC6.0的MFC的操作步骤,了解程序设计的总体过程及其工作原理。然后参考别人程序,再来设计自己的功能。在查阅资料的过程中不断的提升自己的知识,心里忍不住有一种愉快的心情,在编程中,难免遇到几处卡住的地方,而且自己纠结了半天,但经过老师的指导,最终把问题解决了,在此谢过我的指导老师。经过本次实训,我基本懂得了VC6.0的MFC的操作步骤及其设计,还灵活运用自己所掌握的知识,同时通过自己动手,思考,来发现自己的不足,并及时改正。
本文档为【面向对象实训报告(1)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:20
分类:
上传时间:2022-07-25
浏览量:1