mfc串口毕业设计论文(基于对话框的mfc从串口接收温度数据,画温度时间的实时曲线)

1.基于对话框的mfc从串口接收温度数据,画温度时间的实时曲线

设计思想:

1、开较大的数组,保证能够存储足够的数据,通常是曲线显示分辨率的点数(如xnum=400)的倍数,如

float data[800];

2、记录串口传上来的数据个数,如

int datalen=40;

3、根据数据个数(可以自动增加或人工设置选择)和显示分辨率,对显示坐标进行缩放,如

float xval=1.0*xnum/datalen;

4、调整x坐标位置,利用循环画曲线,如

for(i=0;i<datalen;i++)

{

x=int(i*xval);

y=高度;

//画曲线,高度可以先全部计算,注意开始和结束

}

2.MFC串口接收数据

使用MSComm控件串口接收数据,一般设置成SetRThreshold(1);

//参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件

并且串口每次接收到的数据个数是不确定的,如果你自己确定需要接收到多少个数据的话,就好办了。

//全局变量

BYTE Comm_Packet_Len; //需要接收到的数据个数

BYTE Comm_DataBuffer[20]; //依次存放串口接收到的数据

long Comm_Packet_Index; //每次收到数据个数,并标志数据应放在全局数组位置的索引

//每次处理完数据后清空,为下一次接收做准备

void CEOLDlg::OnMscomm()

{

// TODO: Add your control notification handler code here

VARIANT variant_inp;

COleSafeArray safearray_inp;

long len=0, k=0; //转换为数组时使用的变量

BYTE rxdata[204]; //设置BYTE数组 An 8-bit integerthat is not signed.

CString strtemp; //字符型变量

int temp = 0; //临时变量

unsigned char ecuchecksum = 0; //ecu回传校验码

if(m_ctrlComm.GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符

{ //以下你可以根据自己的通信协议加入处理代码

variant_inp = m_ctrlComm.GetInput();//读缓冲区

safearray_inp = variant_inp; //VARIANT型变量转换为ColeSafeArray型变量

len = safearray_inp.GetOneDimSize(); //得到有效数据长度

for(k = 0; k < len; k++) //将ColeSafeArray型变量转换为BYTE型数组

{

safearray_inp.GetElement(&k, rxdata + k);//转换为BYTE型数组

}

for(temp = 0; temp < len; temp++)

{

Comm_DataBuffer[Comm_Packet_Index + temp] = rxdata[temp];

}

Comm_Packet_Index += len;

if(Comm_Packet_Index == Comm_Packet_Len)//接收到的数据个数等于

{

//处理接收到的数据

}

}

}

3.MFC要学哪些内容,急要细解写论文

MFC 微软基础类 MFC,微软基础类(Microsoft Foundation Classes),同VCL类似,是一种Application Framework,随微软Visual C++ 开发工具发布。

目前最新版本为9.0(截止2008年11月)。该类库提供一组通用的可重用的类库供开发人员使用。

大部分类均从CObject 直接或间接派生,只有少部分类例外。 MFC 应用程序的总体结构通常由 由开发人员从MFC类派生的几个类和一个CWinApp类对象(应用程序对象)组成。

MFC 提供了MFC AppWizard 自动生成框架。 Windows 应用程序中,MFC 的主包含文件为"Afxwin.h"。

此外MFC的部分类为MFC/ATL 通用,可以在Win32 应用程序中单独包含并使用这些类。 由于它的易用性,初学者常误认为VC++开发必须使用MFC。

这种想法是错误的。作为Application Framework,MFC的使用只能提高某些情况下的开发效率,只起到辅助作用,而不能替代整个Win32 程序设计。

MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境下编写应用程序的一个框架和引擎,VC++是WinDOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC++专配的.. MFC是Win API与C++的结合,API,即微软提供的WinDOS下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方(如我是一方,微软是一方,Borland就是第三方)的编程语言来进行对WinDOS下应用程序的开发,使这些被开发出来的应用程序能在WinDOS下运行,比如VB,VC++,Java,Dehpi编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在WinOS的消息机制和绘图里,遵守WinDOS作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Win编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C++封装,这种结合一方面让用户使用微软的专业C++ SDK来进行Win下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Win下用C++ & MFC编制软件时的大量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价(这是微软的一向作风),因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的.. 最后要明白MFC不只是一个功能单纯的界面开发系统,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在WinDOS(用MFC编写的程序绝大部分都在WinDOS中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C++和MFC的学习中最难的部分是指针,C++面向对像程序设计的其它部分,如数据类型,流程控制都不难,建议学习数据结构C++版。 MFC是微软封装了的API。

什么意思呢?windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的win32开发(直接使用windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Application framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架, MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC主要就是要学MFC,大约有100多个类,但常用的也就二三十个。

应该象背4级单词一样将这些常用类搞懂;当然不要死记,要通过看帮助、看例子、动手练习来学会它们;而且,并非每个类的内部的所有函数都要学会,要日积月累。如果真的想成为高手,做个笔记本把自己认为重要的类、函数记下来,随时学习,也是很好的突击方法。

下面介绍最重要的MFC。 CWnd:窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个。

mfc串口毕业设计论文

转载请注明出处众文网 » mfc串口毕业设计论文(基于对话框的mfc从串口接收温度数据,画温度时间的实时曲线)

资讯

机械专业优秀毕业论文范文(机械类毕业论文范文)

阅读(123)

本文主要为您介绍机械专业优秀毕业论文范文,内容包括机械类毕业论文范文,机械方面的论文(范文),找一篇机械方面的论文。结论毕业设计是学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的给排水系统设计,我摆脱了单纯的理论知识

资讯

大学毕业论文几月份(大学一般什么时候开始写论文)

阅读(113)

本文主要为您介绍大学毕业论文几月份,内容包括大学生毕业论文一般几月份开始写,本科生几月开始准备毕业论文,大学里做毕业设计一般在几月几号。一般来说是大四毕业论文,但若你有研究成果,论文时间视研究成果而定。论文类型:专题型这是分析前人

资讯

会计学毕业论文中案例(财会毕业论文案例分析)

阅读(88)

本文主要为您介绍会计学毕业论文中案例,内容包括财会毕业论文案例分析,会计毕业论文范文五篇,急求有关会计论文实例。1 高校会计教学引入国际执业资格教育的实践与思考以首都经济贸易大学华侨学院国际会计方向班教学实践为例 2 会计稳健性

资讯

安卓商城毕业论文(关于android毕业设计论文有哪些)

阅读(96)

本文主要为您介绍安卓商城毕业论文,内容包括关于android毕业设计论文,大学毕业设计做android论文怎么写,网上商城毕业论文网上消费者购物行为与传统购物行为的比较这是一。1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量

资讯

健身毕业论文范文(求体育锻炼相关的论文一篇)

阅读(97)

本文主要为您介绍健身毕业论文范文,内容包括求体育锻炼相关的论文一篇,求一篇关于健身的论文,大学生健身论文。为什么经常参加锻炼的大学生组体质健康优秀率和良好率高于偶尔参加锻炼的大学生组呢?由于体育锻炼能对大学生的生理、心理和社会

资讯

毕业论文选题怎么样合适(怎样确定合适的论文题目)

阅读(96)

本文主要为您介绍毕业论文选题怎么样合适,内容包括怎样确定合适的论文题目,毕业设计题目怎么选,毕业论文怎么选题才好写。选题应遵循的基本原则。选题,即在撰写毕业论文之前,选择和确定所要研究论证的问题。要做到能正确而恰当地选题,应遵循以

资讯

浅析企业文化建设毕业论文(如何进行企业文化建设论文3000字)

阅读(106)

本文主要为您介绍浅析企业文化建设毕业论文,内容包括如何进行企业文化建设论文3000字,如何进行企业文化建设论文3000字,企业文化建设论文需要近三年的参考文献毕业论文用谢谢各位了跪求。去百度文库,查看完整内容>内容来自用户:中国学术期刊

资讯

机械专业优秀毕业论文范文(机械类毕业论文范文)

阅读(123)

本文主要为您介绍机械专业优秀毕业论文范文,内容包括机械类毕业论文范文,机械方面的论文(范文),找一篇机械方面的论文。结论毕业设计是学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的给排水系统设计,我摆脱了单纯的理论知识

资讯

大学毕业论文几月份(大学一般什么时候开始写论文)

阅读(113)

本文主要为您介绍大学毕业论文几月份,内容包括大学生毕业论文一般几月份开始写,本科生几月开始准备毕业论文,大学里做毕业设计一般在几月几号。一般来说是大四毕业论文,但若你有研究成果,论文时间视研究成果而定。论文类型:专题型这是分析前人

资讯

会计学毕业论文中案例(财会毕业论文案例分析)

阅读(88)

本文主要为您介绍会计学毕业论文中案例,内容包括财会毕业论文案例分析,会计毕业论文范文五篇,急求有关会计论文实例。1 高校会计教学引入国际执业资格教育的实践与思考以首都经济贸易大学华侨学院国际会计方向班教学实践为例 2 会计稳健性

资讯

安卓商城毕业论文(关于android毕业设计论文有哪些)

阅读(96)

本文主要为您介绍安卓商城毕业论文,内容包括关于android毕业设计论文,大学毕业设计做android论文怎么写,网上商城毕业论文网上消费者购物行为与传统购物行为的比较这是一。1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量