版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统课程设计题目:ARM多行文本框设计学生姓名:XXX学号:XXXXXXXXX指导教师:XXXXXXX同组成员:XXXXXXXX起止时间:20XX年12月10日目录1. 1设计任务与要求62引言73硬件设计84软件设计5调试过程及问题分析126结论14参考文献15附录15一设计任务及要求设计任务:ARM多行文本框设计设计要求:(1) 利用文本框编程实现多行文本的文本框输入的计算器。(2) 并在超级终端上显不的相应的文本。扩展要求监视每路AD转换,每一路AD的转换结果在液晶屏上用一个条形图的长短来表示,直观地显示每路模拟输入电压的大小。通过文本框给3路AD设置警戒值,某路输入超出警戒线之后
2、led条形图中超出的部分会以闪动的方式显示。二引言当今世界嵌入式的发展可谓是日新月异突飞猛进!嵌入式系统在各个领域内都有相当广泛的应用,如交通管理、工业控制、信息家电、家庭智能管理系统、POS网络及电子商务、机器人等!本设计基于博创科技UP-NETARM2410-CL开发平台,绘制多行文本框并利用文本框编程实现一个计算器并在超级终端上显示计算的结果。把一个二进制文件中的数据在文本框中显示出来,并利用键盘消息,并处理输入的数据,既进行加减乘除运算,并在超级终端上显示结果。其目的是掌握如何利用多行文本框的编辑来实现简单运算。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,便显示
3、在LCD上或者传输到远端PC上。而触摸屏,由于其轻便、占用空间少、方便灵活等优点,特别是对于现在的图形化的嵌入式界面操作来说更加方便快捷。本设计即将展示这种组合的方便性。嵌入式系统的相应程序应该完成的任务便是:将白己的启动信息、过程信息主动发到运行有超级终端的主机;将接收到的字符返回到主机,同时发送需要显示的字符(如命令的响应等)到主机。三硕件设计3.1硬件开发平台与软件开发平台介绍硬件:ARM嵌入式开发平台、PC机PentiumlOO以上、用于ARM920T的JTAG仿真器、串口线。软件:PC机操作系统Win2000或WinXRARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
4、。3.2硬件使用通过ARM嵌入式开发平台的按键输入数据(0至9按键),再按enter键,在上下两个文本框中分别显示计算过程与计算结果,并且在超级终端中显示计算式与结果。四软件设计4.1总体方案设计:1、用多个现有文本框设计成多行文本框,设计它们的位置坐标,让它们看起来紧挨2、在响应enter按键时,下一个文本框的可见状态从不可见变成可见,焦点移动到下一文本框3、判断输入有没有进入到文本框末尾位置,如果是,则移动到下一文本框创建两个文本框扫面按键判断按键执行相应的4.2数据的计算判断num=num1+num2;Uart_Printf(0,"%3.3f%c%3.3f=n",nu
5、m1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nu碱进第二个文本框,保留三位小数/fint=num*1000;while(fint!=0)(str1k=fint%10;fint=fint/10;/Uart_Printf(0,"%d",str1k);k+;while(k>2)(str2p=str1k+'0'/Uart_Printf(0,
6、"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl(pTextCtrl1);/重绘文本框/*/elseif(c0='-')(if(num1>=num2)/相减得到正数(num=num1-num2;Uart_Printf(0,&qu
7、ot;%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nun<进第二个文本框,保留三位小数/fint=num*1000;while(fint!=0)(str1k=fint%10;fint=fint/10;/Uart_Printf(0,"%d",str1k);k+;while(k>2)str2p=str
8、1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl(pTextCtrl1);/重绘文本框/else/相减得到负数numtemp=num2-num1;/numtemp为正num=0-numtemp
9、;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nun<进第二个文本框/fint=numtemp*1000;while(fint!=0)str1k=fint%10;fint=fint/10;/Uart_Printf(0,"%3d",str1k);k+;/将'
10、-'设进str2的的0位/p=0;str2p='-'p=1;while(k>2)str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;设置文本框SetTextCtrlText(pTextCtrl1,str2,TRUE);/内容DrawTextCtrl(pTextCt
11、rl1);/重绘文本框/*/elseif(c0='*')num=num1*num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nun<进第二个文本框/fint=num*1000;while(fint!=0)str1k=fint%10;fint=fint/10;/Ua
12、rt_Printf(0,"%3d",str1k);k+;while(k>2)str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;P=0;SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl(pTextCtrl1);/重绘文本框
13、/*/elseif(c0='/')if(num2=0)Uart_Printf(0,"dataerror.n");elsenum=num1/num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;五调试过程及问题分析调试过程中遇到的问题主要集中在下面几个地方:从
14、文本框中读取字符并转换成数字运算,将运算得到的结果转变成字符送给结果显示框,符号位的表示问题。在从文本框中读取字符时,首先得判断读取到的字符是否为正确的,即第一位字符只能为数字字符,在遇到算术操作符时,如'+',即判断第一个数输入结束,并将其减去'0'再做适当的转换得到与字符表示一致的数字,但该过程中遇到的符点型数据输入是一个难题,在整个过程中,小数点'.'所代表的位在实验台的键盘上实现的是清空文本框功能,最后米用的措施是以键盘是的Num键表示小数点位,当按下Num键时,出现在文本框里面的是小数点,即在Num键按下时传递给文本框的是小数点的ASC
15、II值46,而在符点型输入过程中的转换相对来说也更复杂,整数部分与整数转换相同,而小数部分的转换,则定义了一个数组ffloat4=10,100,1000,10000,以小数点位为基准判断到达小数点第几位,则该数字字符转换成数字后分别除以该数组里面的相应数字,得到的是一个保留四位小数的浮点数字。在得到的数值结果换成字符数字的过程中,整数的操作比较简单,而若得到的数是负数则需要把结果文本框里面的第一个字符置为'-',其它和正整数操作相同,即把该数不断对10取模将该数拆分成单个数字存入数组,再把该数组里面的数加上字符0',即得到了相应的数字字符。同样,浮点型数字的表示过程中,
16、整数部分与整数数字一样,小数点被设置在整数位结束的紧接着的一位,小数位先乘以10000,再得到一个四位整数,若有哪一位整数位为空则用字符'0'代替。调试过程还有一个相当容易出现的错误就是用来接收输入的字符的数组长度设置,若要得到一个比较理想的状态,则需要将该数组设置得较大,若过小,如4个长度的数组,则在敲入第五个字符时就会出现“死机”,而另一方面,整数表示的范围有限,若输入的整数位数超过了整数范围,则也会出现溢出。六结论通过过去两个星期的课程设计,不但使我复习了前面学嵌入式的知识的同时也学到了新的知识,在这次课程设计由五位小组成员组成了我们的设计组,在设计过程中遇到了许多疑点和
17、难点,在组员的探讨中,和老师的帮助下,我们逐一解决了这些问题,但在这其中我们也走了不少弯路使我们知道白己的不足之处。有时虽然感觉理论知识已经掌握了,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为白己今后的学习和工作做出了最好的榜样。我觉得作为一名信号处理专业的学生,应用类的课程设计是很有意义的。更重要的是如何把白己平时所学的东西应用到实际中。虽然白己对于专业知识懂的并不多,很多基础的东西都还没有很好的掌
18、握,觉得很难,也没有很有效的办法通过白身去理解,但是通过这两个礼拜的学习与实践,在小组同学的帮助和讲解下在老师的耐心辅导下,渐渐对所涉及到的专业知识产生了些许的兴趣,白己开始主动学习并逐步从基础慢慢开始弄懂它们。我认为这个收获应该说是相当大的。课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合、相处,以及白身的动脑和努力,都是以后工作中需要的。参考文献:【1】孙纪坤,张小全.嵌入式LINUX系统开发技术祥解一基于ARM.北京:人民邮电出版社2006.【2】李亚锋,欧文盛等.AR佩入式LINUX系统开发从入门到精通.北京:清
19、华大学出版社2007.【3】杜春雷.ARI#系结构与编程.北京:清华大学出版社200挥.【4】亚荷毛尔等.构建嵌入式LINU麻统.中国电力出版社2011年附件、*/#include"./ucos-ii/includes.h"/*uC/OSinterface*/#include"./ucos-ii/add/osaddition.h"#include"./inc/drivers.h"#include"./inc/sys/lib.h"#include"./src/gui/gui.h"#include&
20、lt;string.h>#include<stdio.h>/peqoeejjeAeu/SO,"*/:()岫SSO!(epo|/|ejodsa)epo|/|e6ueL|9-a9_|!(uu"epoiuqdejBBuueius.JuiJcrQOi:(“uT|-S00nBunjeis.uucraOl!(0;!U|_>|seippvSO!(oud->|sei-;se;IkSZISXOVlSoeis-lseGX1S-SO)*0GP!°a)'ysej/is印)印eaiasej_so/!(oud->|sei-u!e|/|IkSZISX
21、OVlSoeis-ujeiAiGX1S-SO)*0GP!°a)'ysej/uEiAi)印eaiasej_S0九uT|-S00nuo沁即eieejojujjcraoi/Aiuoud;seq6iqeq;seqeuiiedideq;/jopueeq;e£>|sej_回1osiueq;o;senuoud/BuiseejouiuBissepueS0/C)nuisyse】eq;e;eejo/!()iuejedUJsAspeo|J!Pue#!();uodpeo-|!()I4OSO;!U!()9aS0;!U!:()1S!1SO1!U!()e6esse|/isoi!U!0=in
22、OINII/l-3SnJ!#!()ei!dSO;!U!();jen;!U|SO/ll-SO/OnAqpepeeu/©!U|SO/uonesiieRiui(iue;sAs|/|vpsseqivHn);e6je;op/!();iune6jeii/|yv)(P!OA)uieiu;uillllllllllllllllllllllllllllllllllllllllllllllllllll/uonounjuje|/|/¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
23、;¥*/lllllllllllllllllllllllllllllllllllllllllllllllllllll111*串/¥¥*09O!Jd-Mseid-pe-|eujjep#69oucrMsejj-poneuijep#89oiJd->|sei-ueos-Ae>ieuijep#次oujwse_LUje|/|eujjep#oujwsej.ueejogqonoieuijep#OjJd->|sei_SASeujjep#*多块o闻A雪苞日¥¥¥¥¥¥¥¥¥
24、65;¥¥¥*/9Loud->|sei_;se;eujjep#>isei-;sei-;sev/!(pupiOA)>|sei-;se;pioa>isei_;sei_;sev/!10=3ZISX9VlS>|oe;s_;se;xis-SO次oujysej.uje|/|eujjep#>|sei-;sei-uie|/|/!(pupiOA)>|sei-u!e|/|pioa>|sei_;sei_U!e|/|/!10=3ZISX9VlS>|oe;s_U!e|/|X1S-SO111*¥¥¥¥
25、;¥¥¥¥¥¥¥¥¥¥¥¥¥*/Bunsoqiiuesesnsuoipunjouejnsue/(!/vs-6u!;soq!iues-ou-esn)iodiuieiuBejd#return0;)/main/PTextCtrlpTextCtrl2;/文本框结构控件指针,两个文本框structRECTrect2;/定义矩形框结构intID_MainTextCtrl2=101,102;/文本框控件IDintleftText=100,rightText=320;/文本框的左右
26、对齐inttopText2=30,50,bottomText2=50,70;/文本框的上下位置紧挨/intstaticinstru=0;/文本框的指示变量/*intsysnumber=0;charsysfilename="/sys/ucos/fj/sys.dat”;/打开的文件名voidLoadSysNumber()/打开文件读文件数据FILE*pfile;/定义文件结构指针pfile=fopen(sysfilename,"r");/打开文件if(pfile=NULL)/打开文件失败sysnumber=0;return;fread(&sysnumber,s
27、izeof(int),1,pfile);/读文件fclose(pfile);/关闭文件voidSaveSysNumber()/打开文件写数据保存FILE*pfile;pfile=fopen(sysfilename,"w");if(pfile=NULL)return;fwrite(&sysnumber,sizeof(int),1,pfile);/写文件fclose(pfile);*/*voidCreateText()/创建文本框U16str20;/LoadSysNumber();SetRect(&rect,leftText,topTextinstru,righ
28、tText,bottomTextinstru);/设置PID参数轴1P的文本框pTextCtrlinstru=CreateTextCtrl(ID_MainTextCtrlinstru,&rectinstru,FONTSIZE_MIDDLE,CTRL_STYLE_FRAME,NULL,NULL);/创建文本框/Int2Unicode(sysnumber,str);/将整形数据转换为Unicode数据SetWndCtrlFocus(NULL,ID_MainTextCtrlinstru);/将焦点移到文本框中SetTextCtrlText(0,str,TRUE);/设置文本框内容*/变量定义
29、/S8a10,b10,c1;S8at10,bt10;S8dota,dotb;/num1和num2勺小数点标记位intcount1,count2,i,j,m,n,k;floatnum,num1,num2,num3;intnumtemp;/当相减得到的是负数时的临时量/intfint;/把fnum得到的值乘以100得到的整数floatfnum;/用在做除法运算时保存所得的商值/floatfnum2;/把fint除以100得到的浮点数,也就是要输出到第二个文本框里面的值/voidMain_Task(void*Id)/Main_Test_TaskU16str110='0'U16str2
30、10='0'intl=0;intp=0;intt=0;intf=0;/小数点后面数标志intffloat4=10,100,1000,10000;/最多四位有效小数POSMSGpMsg=0;/定义消息结构a0='0'b0='0'c0='0'num=num1=num2=num3=0;i=0;j=0;count1=count2=0;ClearScreen();/清屏Uart_Printf(0,"-多行文本框计算器实验n");/CreateText();/创建文本框/创建两个文本框/创建第一个文本框/SetRect(&
31、amp;rect0,leftText,topText0,rightText,bottomText0);/设置PID参数轴1P的文本框pTextCtrl0=CreateTextCtrl(ID_MainTextCtrl0,&rect0,FONTSIZE_MIDDLE,CTRL_STYLE_FRAME,NULL,NULL);/仓U建文本框/Int2Unicode(sysnumber,str);/将整形数据转换为Unicode数据SetWndCtrlFocus(NULL,ID_MainTextCtrl0);/将焦点移到第一个文本框中/SetTextCtrlText(pTextCtrl0,str
32、,TRUE);/设置文本框内容/创建第二个文本框/SetRect(&rect1,leftText,topText1,rightText,bottomText1);/设置PID参数轴1P的文本框pTextCtrl1=CreateTextCtrl(ID_MainTextCtrl1,&rect1,FONTSIZE_MIDDLE,CTRL_STYLE_FRAME,NULL,NULL);/仓U建文本框/Int2Unicode(sysnumber,str);/将整形数据转换为Unicode数据/SetWndCtrlFocus(NULL,ID_MainTextCtrl1);/第二个文本框不需
33、要得到焦点/SetTextCtrlText(pTextCtrl1,str,TRUE);/设置文本框内容/pTextCtrl0->text0=0;/清空第一个文本框SetTextCtrlEdit(pTextCtrl0,TRUE);/使第一个文本框处于编辑状态DrawTextCtrl(pTextCtrl0);/重绘文本框/pTextCtrl1->text0=0;/清空第一个文本框SetTextCtrlEdit(pTextCtrl1,TRUE);/使第一个文本框处于编辑状态SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl
34、(pTextCtrl1);/重绘文本框/消息循环for(;)POS_CtrlpCtrl;/定义消息结构pMsg=WaitMessage(0);/等待消息switch(pMsg->Message)caseOSM_KEY:/键盘消息if(pMsg->WParam='+')c0='+'elseif(pMsg->WParam='-')c0='-'elseif(pMsg->WParam='*')c0='*'elseif(pMsg->WParam='/')c0=
35、39;/'elseif(c0='0')&&(pMsg->WParam>='0'&&pMsg->WParam<='9')|pMsg->WParam='N')ai=pMsg->WParam;if(pMsg->WParam=48)dota=i;/dota标志着小数点在第一个数里面的位置+i;count1=i;elseif(c0!='0'&&(pMsg->WParam>='0'&&p
36、Msg->WParam<='9')|pMsg->WParam='N')bj=pMsg->WParam;if(pMsg->WParam=48)dotb=j;/dotb标志着小数点在第二个数里面的位置+j;count2=j;DeleteMessage(pMsg);/删除消息/*pCtrl=GetCtrlfromID(NULL,GetWndCtrlFocus(NULL);/得到由焦点控件的结构指针if(pCtrl->CtrlType=CTRLTYPE_WINDOW)if(PWnd)pCtrl)->style&WND_S
37、TYLE_MODE)=WND_STYLE_MODE&&c0!='0'&&(pMsg->WParam!='+'|pMsg->WParam!='-'|pMsg->WParam!='*'|pMsg->WParam!='/')/焦点是有模式窗口,消息直接传递过去OSOnSysMessage(pMsg);*/break;if(pMsg->WParam='.')/清空键(/还需要把a,c,b数组及所有标量清空/count1=0;count2=0;i=
38、0;j=0;m=0;n=0;k=0;num=0;num1=0;num2=0;num3=0;fint=0;fnum=0;for(t=0;t<10;t+)(at='0'bt='0't=0;c0='0'c1='0'/pTextCtrl0->text0=0;/DrawTextCtrl(pTextCtrl0);/pTextCtrl1->text0=0;/DrawTextCtrl(pTextCtrl1);/for(t=0;t<10;t+)(str1t='0'str2t='0't=0;/s
39、tr26='0'elseif(pMsg->WParam='r')i=j=0;/Uart_Printf(0,"%d%d”,count1,count2);/pTextCtrl0->text0=0;/SetTextCtrlEdit(pTextCtrl0,TRUE);/DrawTextCtrl(pTextCtrl0);/清空第一个文本框重绘文本框清空第二个文本框重绘文本框发送键清空文本框使文本框处于编辑状态重绘文本框/Uart_Printf(0,"%c",c0);Uart_Printf(0,"%d",coun
40、t1);for(m=0;m<dota;m+)(atl=am;l+;/小数点位跳过m=m+1;while(m<count1)atl=am;m+;l+;)m=0;for(l=0;l<dota;l+)/小数点前的数(if(l=0)num1=atl-'0'elsenum1=num1*10+atl-'0')while(l<count1)(num1=num1+(float)(atl-'0')/ffloatf;f=f+1;l=l+1;)l=0;仁0;a0='0'at0='0'count1=0;for(n=
41、0;n<dotb;n+)(btl=bn;l+;)n=n+1;/小数点位跳过while(n<count1)(btl=bn;n+;l+;)n=0;for(l=0;l<dotb;l+)/小数点前的数(if(l=0)num1=btl-'0'elsenum1=num1*10+btl-'0')while(l<count2)(num1=num1+(float)(btl-'0')/ffloatf;f=f+1;l=l+1;)l=0;仁0;b0='0'bt0='0'count2=0;*if(c0='+&
42、#39;)(num=num1+num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把num设进第二个文本框,保留三位小数/fint=num*1000;while(fint!=0)(str1k=fint%10;fint=fint/10;/Uart_Printf(0,"%d"
43、;,str1k);k+;while(k>2)(str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl(pTextCtrl1);/重绘文本框/*/elseif(c0='
44、-')(if(num1>=num2)/相减得到正数(num=num1-num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把num进第二个文本框,保留三位小数/fint=num*1000;while(fint!=0)(str1k=fint%10;fint=fint/10;/U
45、art_Printf(0,"%d",str1k);k+;while(k>2)(str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;SetTextCtrlText(pTextCtrl1,str2,TRUE);/设置文本框内容DrawTextCtrl(pTextCtrl1
46、);/重绘文本框/else/相减得到负数(numtemp=num2-num1;/numtemp为正num=0-numtemp;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把num进第二个文本框/fint=numtemp*1000;while(fint!=0)(str1k=fint%10;fi
47、nt=fint/10;/Uart_Printf(0,"%3d",str1k);k+;/将'-'设进str2的的0位/p=0;str2p='-'p=1;while(k>2)(str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;fint=0;设置文本框S
48、etTextCtrlText(pTextCtrl1,str2,TRUE);/内容DrawTextCtrl(pTextCtrl1);/重绘文本框/*/elseif(c0='*')(num=num1*num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nun<进第二个文
49、本框/fint=num*1000;while(fint!=0)(str1k=fint%10;fint=fint/10;/Uart_Printf(0,"%3d",str1k);k+;while(k>2)str2p=str1k+'0'/Uart_Printf(0,"%c",str2p);p+;k-;str2p='.'p+;str2p=str12+'0'p+;str2p=str11+'0'p+;str2p=str10+'0'p+;k=0;p=0;设置文本框内容SetTextC
50、trlText(pTextCtrl1,str2,TRUE);/DrawTextCtrl(pTextCtrl1);/重绘文本框/*/elseif(c0='/')if(num2=0)Uart_Printf(0,"dataerror.n");elsenum=num1/num2;Uart_Printf(0,"%3.3f%c%3.3f=n",num1,c0,num2);Uart_Printf(0,"%3.3f",num);Uart_Printf(0,"n");a0='0'b0='0'c0='0'num1=num2=0;/把nu做
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业数据备份与恢复流程预案
- 招聘流程标准化模板人力资源优化工具
- 家庭信息守秘安全承诺书6篇范文
- 云计算数据中心的维护与升级指南
- 技术规范执行文档工具箱
- 湖北省黄冈市宝塔中学2025-2026学年初三5月份考前模拟适应性联合考试英语试题试卷含解析
- 湖南株洲市景炎校2026年初三语文试题期末试题含解析
- 湖北省宜昌市夷陵区东湖初级中学2025-2026学年初三5月月考(英语试题文)试题含解析
- 品牌诚信市场营销推广承诺书(7篇)
- 空天技术创新发展承诺函(7篇)
- 2025至2030特种运输行业项目调研及市场前景预测评估报告
- 耐火材料施工安全培训课件
- 学堂在线医学英语词汇进阶(首医)作业单元测验答案
- 2025年度零售药店医保考核自查报告范文
- 电信基站电费管理办法
- 体检三基考试题目及答案
- 高压设备停送电课件
- GJB1442A-2019检验工作要求
- 2025年农村生态环保项目负责人招聘面试题集与解析
- 部编版五年级语文下册第三单元综合性学习《汉字真有趣》知识点梳理
- 2025年安徽职业技术学院单招职业倾向性考试题库(审定版)含答案
评论
0/150
提交评论