毕业设计----低频信号分析仪软件设计与实现_第1页
毕业设计----低频信号分析仪软件设计与实现_第2页
毕业设计----低频信号分析仪软件设计与实现_第3页
毕业设计----低频信号分析仪软件设计与实现_第4页
毕业设计----低频信号分析仪软件设计与实现_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

低频信号分析仪软件设计与实现摘要随着微电子技术,计算机技术,网络通讯技术和软件技术的高速发展,在实验室和工业应用中,传统仪器开始向计算机化的方向发展。通过串口将信号经过传输和采样到电脑里面由设计的软件实现对信号时域和频域的分析和计算是会给教学和科研带来很多意想不到的方便。本次设计使用VISUALC60完成对串口模块的设计,使其能够实现信号的接收。然后通过MATLAB生成信号,通过对生成的信号进行傅立叶变换,由傅氏变换可以得到幅值和相角,然后通过计算得到的AFF特征值,将信号的频谱,时间域波形等显示出来。由波形图和频谱图分析得知信号的周期,峰峰值,频率等,从而实现对信号进行分析和计算。虽然本次毕业设计虽然能够基本完成设计要求,但是还有很多地方需要改进。关键字串行通信;信号采样;傅立叶变换;信号分析LOWFREQUENCYSIGNALANALYZERSOFTWAREDESIGNANDIMPLEMENTATIONABSTRACTWITHTHEMICROELECTRONICSTECHNOLOGY,COMPUTERTECHNOLOGY,NETWORKCOMMUNICATIONTECHNOLOGYANDTHERAPIDDEVELOPMENTOFSOFTWARETECHNOLOGYINTHELABORATORYANDINDUSTRIALAPPLICATIONS,THETRADITIONALSTARTTOTHECOMPUTERIZEDEQUIPMENTDIRECTIONTHESIGNALTHROUGHTHESERIALPORTTOACOMPUTERTHROUGHTRANSMISSIONANDSAMPLINGBYTHEDESIGNOFTHESOFTWAREINSIDETHESIGNALINTIMEDOMAINANDFREQUENCYDOMAINOFANALYSISANDCOMPUTATIONISTEACHINGANDRESEARCHWILLBRINGALOTOFUNEXPECTEDCONVENIENCETHISDESIGNUSINGVISUALC60SERIALPORTMODULETOCOMPLETETHEDESIGN,SOTHATITCANACHIEVESIGNALRECEPTIONTHENMATLABGENERATEDSIGNAL,THESIGNALGENERATEDBYTHEFOURIERTRANSFORM,FOURIERTRANSFORMCANBEOBTAINEDFROMTHEAMPLITUDEANDPHASEANGLE,ANDTHENCALCULATEDTHEEIGENVALUESOFTHESIGNALSPECTRUM,TIMEDOMAINWAVEFORMDISPLAYBYTHEWAVEFORMANDSPECTRUMANALYSISSHOWEDTHATTHESIGNALCYCLE,PEAKTOPEAK,FREQUENCY,ETC,INORDERTOACHIEVETHESIGNALANALYSISANDCALCULATIONWHILETHISCANBASICALLYCOMPLETETHEGRADUATIONPROJECTDESIGNREQUIREMENTSTHOUGH,BUTTHEREAREMANYAREASFORIMPROVEMENTKEYWORDSSERIALCOMMUNICATIONSIGNALSAMPLINGFOURIERTRANSFORMSIGNALANALYSIS目录摘要IABSTRACTII目录第1章前言111本论文的研究背景和意义112论文研究内容113论文研究重点2第2章信号的输入321串口通信模块3211基本原理322串口通信和RS2325221RS232通信协议5222RS232串行接口标准6223RS232接口定义6224串口信号线的接法723VISUALC及MFC简介824实现串行通信10241在当前工程添加MSCOMM控件10242初始化串口设置MSCOMM控件的属性12243数据接收函数ONCOMM13244发送数据15245程序调试1625本章小节17第3章信号的分析和计算1831信号分析的原理及意义1832信号的分类与预处理1933信号的采样22331奈奎斯特采样定理2234信号的时域分析2435信号的频域分析24351信号的频谱分析24352DFT及FFT算法描述25353FFT实现频谱分析2636本章小结27第4章程序的调试2841信号的时域波形2842信号的功率谱3043信号的频谱图3344本章小结35结论36致谢37参考文献38附录39第1章前言11本论文的研究背景和意义利用计算机软件在计算机上实现低频信号分析(LOWFREQUENCYSIGNALANALYSIS)是最近几十年内迅速发展起来的一种信号分析技术。在很多的科研项目中,信号分析仪是一种重要的工具。传统的仪器加工工艺复杂,生产技术要求搞,价格昂贵,功能有限,难以对分析结果进行二次处理。因此,设计一种操作简便,功能可以自己定义,成本比较低的信号分析仪会给教学和科研带来很多意想不到的方便。随着微电子技术,计算机技术,网络通讯技术和软件技术的告诉发展,传统仪器开始向计算机化的方向发展。利用软件在微机屏幕上构成虚拟仪器前面板,在硬件的支持下对信号进行采样,既可以进行实时信号分析,显示,又可以在离线条件下对存储的采集结果进行各种后处理。在电子技术的各领域中,由于数字信号处理技术的广泛使用和大规模集成电路的高速发展,正日益广泛的采用数字信号和数字系统。数字式信号分析仪是以数字滤波器或者快速傅立叶变换,即FFT为基础构成的。特别是FFT算法的问世,大大改变了频谱分析技术。数字式信号分析仪器由于受到数字系统工作速度的限制。另一方面,数字滤波和FFT技术也已渗透到随即频率信号分析仪当中去。例如采用FFT算法对低频部分进行处理,从而使得仪器的控制另加灵活,动态范围,精确度也大为提高。在现代的工业设计生产当中,信号分析仪对生产活动提供了非常大的帮助,可以精确的测量待测数据信号的时域和频域的各个方面的信息。而且由于最年来微电工程技术的技术更新,使得信号分析仪的精确度更高,测量更方便。12论文研究内容1信号接收模块的设计。对低频信号进行分析和计算,首先要完成对低频信号的采集,将经过串口的数据接入计算机,其中就会牵涉到对串口的设置,比如采样频率,波特率,奇偶校验等,还有就是RS232串口的接线方法,传输距离。对信号进行成功的传输和采样以后才能够使得接下来的信号分析模块顺利进行。2信号分析模块设计。将采接入计算机的信号利用快速傅立叶变换进行时域和频域的计算,使信号的时域波形和频谱能够直观地显示出来,从而达到对信号特征的分析。图11低频信号分析仪软件设计设计框图13论文研究重点通过MATLAB发生出低频信号,在满足奈奎斯特定理的情况下完成对信号的采集,然后对采集到的信号进行傅立叶变换。在傅立叶变换中当N太大时,直接进行DFT运算,运算量会很大,这就对计算机的性能提出了很高的要求,但是利用周期性可以大大的降低运算量。这时就可以用FFT算法来实现对信号的快速傅立叶变换。由离散傅立叶变换DFT可知,由于XF是复函数,所以为的振振幅,称为的相位谱。AFXTFXT显示图形串口通信进行仿真低频信号的采集MATLAB产生信号串口通信完成对信号的采集信号的分析第二章信号的输入21串口通信模块在实验室和工业应用中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,所以应用广泛。依据不同的条件实现对串口的灵活编程控制是我们所需要的。在WINDOWS环境(WINDOWSNT、WIN98、WINDOWS2000)下,串口是系统资源的一部分。应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。211基本原理大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口通信的概念非常简单,串口按位(BIT)发送和接收字节。尽管比按字节(BYTE)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配A,波特率这是一个衡量通信速度的参数。它表示每秒钟传送的BIT的个数。例如300波特表示每秒钟发送300个BIT。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800HZ。这意味着串口通信在数据线上的采样率为4800HZ。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。B,数据位这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。C,停止位用于表示单个包的最后一位。典型的值为1,15和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。D,奇偶校验位在串口通信中一种简单的检错方式。有四种检错方式偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步串口是否空闲发送数据关闭空闲信号接受数据开始串口初始化是否发送完毕返回NYNY图21串口通信流程图22串口通信和RS232221RS232通信协议RS232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS232在1962年发布,命名为EIA232E,作为工业标准,以保证不同厂家产品之间的兼容。RS422由RS232发展而来,它是为弥补RS232之不足而提出的。为改进RS232通信距离短、速率低的缺点,RS422定义了一种平衡通信接口,将传输速率提高到10MB/S,传输距离延长到4000英尺(速率低于100KB/S时),并允许在一条平衡总线上连接最多10个接收器。RS422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA422A标准。为扩展应用范围,EIA又于1983年在RS422基础上制定了RS485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA485A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。RS232、RS422与RS485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。因此在视频界的应用,许多厂家都建立了一套高层通信协议,或公开或厂家独家使用。如录像机厂家中的SONY与松下对录像机的RS422控制协议是有差异的,视频服务器上的控制协议则更多了,如LOUTH、ODETIS协议是公开的,而PROLINK则是基于PROFILE上的。222RS232串行接口标准目前RS232是PC机与通信工业中应用最广泛的一种串行接口。RS232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平,DB25各引脚定义参见图1。典型的RS232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在515V,负电平在515V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS232电平再返回TTL电平。接收器典型的工作电平在312V与312V。由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20KB/S。RS232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37K。所以RS232适合本地设备之间的通信223RS232接口定义RS232接口又称之为RS232口、串口、异步口或一个COM(通信)口。“RS232“是其最明确的名称。在计算机世界中,大量的接口是串口或异步口,但并不一定符合RS232标准,但我们也通常认为它是RS232口。严格地讲RS232接口是DTE(数据终端设备)和DCE(数据通信设备)之间的一个接口,DTE包括计算机、终端、串口打印机等设备。DCE通常只有调制解调器(MODEM)和某些交换机COM口是DCE。标准指出DTE应该拥有一个插头(针输出),DCE拥有一个插座(孔输出)。图22RS232接口引脚定义图224串口信号线的接法一个完整的RS232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。25芯和9芯的主要信号线相同。以下的介绍是以25芯的RS232C为例。(1)主要信号线定义2脚发送数据TXD;3脚接收数据RXD;4脚请求发送RTS;5脚清除发送CTS;6脚数据设备就绪DSR;20脚数据终端就绪DTR;8脚数据载波检测DCD;1脚保护地;7脚信号地。(2)电气特性数据传输速率最大可到20KBPS,最大距离仅15M微软的MSDN60,其WINDOWSAPI中关于串行通讯设备(不一定都是串口RS232C或RS422或RS449)速率的设置,最大可支持到RS_256000,即256KBPS。(3)接口的典型应用大多数计算机应用系统与智能单元之间只需使用3到5根信号线即可工作。这时,除了TXD、RXD以外,还需使用RTS、CTS、DCD、DTR、DSR等信号线。(当然,在程序中也需要对相应的信号线进行设置。)图23RS232C信号线接法23VISUALC及MFC简介MFC库和VISUALC提供了可以用于创建各种应用程序的环境。VISUALC可以帮助您开发满足各种商业需求的应用程序。它提供了各种功能和工具。VISUALC特色包括1本机COM支持可视化的COM编辑,与位置和语言无关的COM浏览,MFC模板,以及编译器支持简化了基于组件的开发。2VISUALSCHEMADISIGNER通过从桌面远程分析MICROSOFTSQLSERVER数据库的模式SCHEMA,提高了数据库应用程序开发的效率。3MICROSOFTTRANSACTIONSERVERMICROSOFTTRANSACTIONSERVER帮助您建立高性能的基于事务的应用程序。4活动文档服务器支持VISUALC提供了创建活动文档服务器的向导和可编程支持,这些活动文档服务器可以在任何活动文档服务器中调用,如在MICROSOFTOFFICE97和MICROSOFTINTERNETEXPLORER40中。VISUALC的开发环境包括1帮助管理您的工程的工程工作区。2编译工程的工具。3设计用户界面和创建资源的编译器。4共享的开发组件,包括一个优化的编译器,一个增量链接器和一个集成的调试器。VISUALC有三个版本标准版,除了代码优化,性能分析器PROFILER和与MFC库的静态链接外,标准版包含了专业版的所有其它功能。专业版,使您能够开发和发布商用等级的软件产品。其功能包括VFC,ACTIVETEMPLATELIBRARYATL,活动模板库,COM和OLEDB。企业版提供了建立和验证企业级COM应用程序的工具和组件。该版本中包含专业版中的所有功能,另外还包括MICROSOFTTRANSACTIONSERVER,SQL编辑器和调试器,MICROSOFTVISUALSOURCESAFE,以及对ACTIVEX对象ADO和远程数据对象RDO的支持。MFC库的功能MFC库是基于C类的一个集合和一个应用程序框架,主要用于创建MICROSOFTWINDOWS应用程序。这个类的集合将C语言扩展为包括创建基于WINDOWS的应用程序所需要的大部分基本结构元素。应用程序框架则定义了应用程序的结构,并为应用程序处理许多常规任务。MFC库是基于WIN32应用程序编程接口API之上而建立的。该API是操作系统为应用程序提供的一系列函数。MFC展示了代表WINDOWS操作系统的通用对象的基本类。MFC并不封装或包括整个API它只包括主要的结构组件和常用组件。由于MFC是用C编写的,因此,您可以很容易地使用WIN32API对操作系统进行本机调用。使用MFC的益处MFC库使您能够利用专业的WINDOWS开发人员的成果。MFC缩短了开发时间,使代码更简洁,在不降低编程自由度和灵活性的前提下提供支持,并提供了对难于编程的用户界面元素和技术如ACTIVEX和INTERNET编程的方便访问。MFC通过OLEDB模板和ADO简化数据库编程,并通过WINDOWSSOCKET简化网络编程。MFC使对诸如属性表,打印预览和浮动工具栏等功能的编程变得十分简单。在开发全功能的WINDOWS应用程序,数据库应用程序,ACTIVEX控件和组件以及INTERNET应用程序时,MFC可提供许多优点,例如1提供一个应用程序框架,用户可在其上建立WINDOWS应用程序。2兼容以前版本的可重用的C类。3行业中最大的可重用的C源代码库。4与VISUALC集成。文档/视图体系结构MFC提供了多种类来满足范围广泛的编程需求。使用MFC编程的第一步是熟悉这些类,并学习它们在MFC层次结构中的相互关系。某些类可直接使用其余的类可作为创建其它类的基类。学习MFC类时,将它们按类别组织是很有帮助的。一些重要的MFC类的类别包括1应用程序体系结构类。2用户界面类。3数据库类。4INTERNET类。MFC编程依赖消息的传递推动整个程序的运行。24实现串行通信241在当前工程添加MSCOMM控件VISUALC为我们提供了一种好用的ACTIVEX控件MICROSOFTCOMMUNICATIONSCONTROL即MSCOMM来支持应用程序对串口的访问,在应用程序中插入MSCOMM控件后就可以较为方便地实现对通过计算机串口收发数据。打开VISUALC60,建立一个基于对话框的MFC应用程序SCOMMTEST。然后在主对话框中添加控件,最后效果如图241所示。图24对话框最终状态然后用CLASSWIZARD为相应控件添加变量,控件的属性设置情况如下表121所示。控件控件IDCAPTION需要添加的变量及变量类型静态文本IDC_STATIC接收显示静态文本IDC_STATIC发送输入编辑框IDC_EDIT_RXDATAM_STREDITRXDATAVALUECSTRING编辑框IDC_EDIT_TXDATAM_STREDITTXDATAVALUECSTRING按钮IDC_BUTTON_MANUALSEND发送MSCOMMIDC_MSCOMM1M_CTRLCOMMCONTROL图26控件及其属性设置情况要使用ACTIVEX控件MSCOMM,程序员必须将其添加入工程,其方法是(1)单击主菜单PROJECT的子菜单ADDTOPROJECT的COMPONENTSANDCONTROLS选项;图27添加控件、控件对话框(2)在弹出的“COMPONENTSANDCONTROLSGALLERY“对话框中选择REGISTEREDACTIVEXCONTROLS文件夹中的“MICROSOFTCOMMUNICATIONSCONTROL,VERSION60“选项。如图243图28MSCOMM控件选择对话框单击其中的“INSERT“按钮,MSCOMM控件就被增加到工程中了。与此同时,类CMSCOMM的相关文件MSCOMMH和MSCOMMCPP也一并被加入PROJECT的HEADERFILES和SOURCEFILES中。图29添加CMSCOMM类的确认对话框242初始化串口设置MSCOMM控件的属性打开CLASSWIZARDMEMBERVARIABLES页,如图245所示,选中控件IDC_MSCOMM1,再单击“ADDVARIALBE”按钮,在CSCOMMTESTDLG类中为控件IDC_MSCOMM1添加CMSCOMM控制变量M_CTRLCOMM。图210为控件IDC_MSCOMM1添加控制变量图211MSCOMM控件出现在资源中通过以上操作,CLASSWIZARD自动在SCOMMTESTDLG,H中加入了INCLUDE”MSCOMMH”语句。/AFX_INCLUDESINCLUDE“MSCOMMH“/AFX_INCLUDES然后在CSCOMMTESTDLGONINITDIALOG函数中写入对串口的初始化语句,串口初始化语句由IDC_MASCOMM1的CMSCOMM控制变量M_CTRLCOMM来设置串口控件属性。其中包括了选择串口,输入代码如下BOOLCSCOMMTESTDLGONINITDIALOGCDIALOGONINITDIALOG/TODOADDEXTRAINITIALIZATIONHEREM_CTRLCOMMSETCOMMPORT2/选择COM1M_CTRLCOMMSETINPUTMODE1/输入方式为二进制方式M_CTRLCOMMSETINBUFFERSIZE1024/设置输入缓冲区大小M_CTRLCOMMSETOUTBUFFERSIZE512/设置输出缓冲区大小M_CTRLCOMMSETSETTINGS“9600,N,8,1“/波特率9600,无校验,8个数据位,1个停止位IFM_CTRLCOMMGETPORTOPENM_CTRLCOMMSETPORTOPENTRUE/打开串口/参数1表示每当串口接收缓冲区中有多于/或等于1个字符时将引发一个接收数据的ONCOMM事件M_CTRLCOMMSETRTHRESHOLD1M_CTRLCOMMSETINPUTLEN0/设置当前接收区数据长度为0M_CTRLCOMMGETINPUT/先预读缓冲区以清除残留数据RETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROL243数据接收函数ONCOMMMSCOMM控件一般用时间驱动方式从串口接受数据,也就是消息处理,当串口有事件发生时,程序调用消息函数来处理数据。打开CLASSWIZARDMEMBERVARIABLES页,如图247所示,打开CLASSWIZARDMESSAGEMAPS,在CLASSNAME中选择类CSCOMMTESTDLG,再在OBJECTIDS中选择IDC_MSCOMM1,然后在MESSAGE中双击消息ONCOMM(或单击“ADDFUNCTION”按钮),在弹出的对话框中将函数名改为ONCOMM(好记而已),单击“OK”,就加入了串口时间的消息处理函数。此时打开工程头文件SCOMMTESTDLGH和实现文件SCOMMTESTDLGCPP会发现程序自动在中添加代码。图212为控件IDC_MSCOMM1添加消息事件处理函数ONCOMM编写函数ONCOMM中的代码,主要任务是从串口接受数据并显示在接受编辑框中。VOIDCSCOMMTESTDLGONCOMM/TODOADDYOURCONTROLNOTIFICATIONHANDLERCODEHEREVARIANTVARIANT_INPCOLESAFEARRAYSAFEARRAY_INPLONGLEN,KBYTERXDATA2048/设置BYTE数组CSTRINGSTRTEMPIFM_CTRLCOMMGETCOMMEVENT2/事件值为2表示接收缓冲区内有字符VARIANT_INPM_CTRLCOMMGETINPUT/读缓冲区SAFEARRAY_INPVARIANT_INP/VARIANT型变量转换为COLESAFEARRAY型变量LENSAFEARRAY_INPGETONEDIMSIZE/得到有效数据长度FORK0KINCLUDE“SCOMMTESTH“INCLUDE“SCOMMTESTDLGH“IFDEF_DEBUGDEFINENEWDEBUG_NEWUNDEFTHIS_FILESTATICCHARTHIS_FILE_FILE_ENDIF/CABOUTDLGDIALOGUSEDFORAPPABOUTCLASSCABOUTDLGPUBLICCDIALOGPUBLICCABOUTDLG/DIALOGDATA/AFX_DATACABOUTDLGENUMIDDIDD_ABOUTBOX/AFX_DATA/CLASSWIZARDGENERATEDVIRTUALFUNCTIONOVERRIDES/AFX_VIRTUALCABOUTDLGPROTECTEDVIRTUALVOIDDODATAEXCHANGECDATAEXCHANGEPDX/DDX/DDVSUPPORT/AFX_VIRTUAL/IMPLEMENTATIONPROTECTED/AFX_MSGCABOUTDLG/AFX_MSGDECLARE_MESSAGE_MAPCABOUTDLGCABOUTDLGCDIALOGCABOUTDLGIDD/AFX_DATA_INITCABOUTDLG/AFX_DATA_INITVOIDCABOUTDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCABOUTDLG/AFX_DATA_MAPBEGIN_MESSAGE_MAPCABOUTDLG,CDIALOG/AFX_MSG_MAPCABOUTDLG/NOMESSAGEHANDLERS/AFX_MSG_MAPEND_MESSAGE_MAP/CSCOMMTESTDLGDIALOGCSCOMMTESTDLGCSCOMMTESTDLGCWNDPPARENT/NULL/CDIALOGCSCOMMTESTDLGIDD,PPARENT/AFX_DATA_INITCSCOMMTESTDLGM_STREDITRXDATA_T“M_STREDITTXDATA_T“/AFX_DATA_INIT/NOTETHATLOADICONDOESNOTREQUIREASUBSEQUENTDESTROYICONINWIN32M_HICONAFXGETAPPLOADICONIDR_MAINFRAMEVOIDCSCOMMTESTDLGDODATAEXCHANGECDATAEXCHANGEPDXCDIALOGDODATAEXCHANGEPDX/AFX_DATA_MAPCSCOMMTESTDLGDDX_CONTROLPDX,IDC_MSCOMM1,M_CTRLCOMMDDX_TEXTPDX,IDC_EDIT_RXDATA,M_STREDITRXDATADDX_TEXTPDX,IDC_EDIT_TXDATA,M_STREDITTXDATA/AFX_DATA_MAPBEGIN_MESSAGE_MAPCSCOMMTESTDLG,CDIALOG/AFX_MSG_MAPCSCOMMTESTDLGON_WM_SYSCOMMANDON_WM_PAINTON_WM_QUERYDRAGICONON_BN_CLICKEDIDC_BUTTON_MANUALSEND,ONBUTTONMANUALSEND/AFX_MSG_MAPEND_MESSAGE_MAP/CSCOMMTESTDLGMESSAGEHANDLERSBOOLCSCOMMTESTDLGONINITDIALOGCDIALOGONINITDIALOG/ADD“ABOUT“MENUITEMTOSYSTEMMENU/IDM_ABOUTBOXMUSTBEINTHESYSTEMCOMMANDRANGEASSERTIDM_ABOUTBOXASSERTIDM_ABOUTBOXAPPENDMENUMF_SEPARATORPSYSMENUAPPENDMENUMF_STRING,IDM_ABOUTBOX,STRABOUTMENU/SETTHEICONFORTHISDIALOGTHEFRAMEWORKDOESTHISAUTOMATICALLY/WHENTHEAPPLICATIONSMAINWINDOWISNOTADIALOGSETICONM_HICON,TRUE/SETBIGICONSETICONM_HICON,FALSE/SETSMALLICON/TODOADDEXTRAINITIALIZATIONHEREM_CTRLCOMMSETCOMMPORT2M_CTRLCOMMSETINPUTMODE1M_CTRLCOMMSETINBUFFERSIZE1024/M_CTRLCOMMSETOUTBUFFERSIZE512M_CTRLCOMMSETSETTINGS“9600,N,8,1“IFM_CTRLCOMMGETPORTOPENM_CTRLCOMMSETPORTOPENTRUEM_CTRLCOMMSETRTHRESHOLD1M_CTRLCOMMSETINPUTLEN0M_CTRLCOMMGETINPUTRETURNTRUE/RETURNTRUEUNLESSYOUSETTHEFOCUSTOACONTROLVOIDCSCOMMTESTDLGONSYSCOMMANDUINTNID,LPARAMLPARAMIFNIDDLGABOUTDOMODALELSECDIALOGONSYSCOMMANDNID,LPARAM/IFYOUADDAMINIMIZEBUTTONTOYOURDIALOG,YOUWILLNEEDTHECODEBELOW/TODRAWTHEICONFORMFCAPPLICATIONSUSINGTHEDOCUMENT/VIEWMODEL,/THISISAUTOMATICALLYDONEFORYOU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论