久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
計算器GUI_Calculate_v1.0 STM32源程序 基于UCGUI 帶觸摸板
[打印本頁]
作者:
王維鋆
時間:
2017-5-9 20:50
標(biāo)題:
計算器GUI_Calculate_v1.0 STM32源程序 基于UCGUI 帶觸摸板
通過UCGUI的學(xué)習(xí),在stm32上面設(shè)計的一款觸摸板計算器
GUI_Calculate_v1.0
0.png
(404.75 KB, 下載次數(shù): 65)
下載附件
2017-5-9 21:57 上傳
0.png
(61.54 KB, 下載次數(shù): 62)
下載附件
2017-5-9 21:57 上傳
程序初始化時,必須初始化串口1,否則程序會卡死在那里,具體原因尚未找到...
1.GUI_Calculate_v1.0版本根號鍵、百分號、反比例函數(shù)鍵尚未編寫相應(yīng)的程序。
stm32單片機源程序:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "math.h"
#include "stdio.h"
#include "led.h"
#include "timer.h"
#include "gui.h"
#include "touch.h"
#include "WM.h"
#include "button.h"
#include "progbar.h"
#include "CHECKBOX.h"
#include "listbox.h"
#include "framewin.h"
#include "SCROLLBAR.h"
#include "edit.h"
// -------------------- 結(jié)構(gòu)變量 --------------------- //
GUI_PID_STATE STATE; //該變量為GUI觸屏的x y位置存儲坐標(biāo)(內(nèi)部已將其換算為屏幕坐標(biāo)了)
FRAMEWIN_Handle hFrame;
BUTTON_Handle hButton_1;
BUTTON_Handle hButton_2;
BUTTON_Handle hButton_3;
BUTTON_Handle hButton_4;
BUTTON_Handle hButton_5;
BUTTON_Handle hButton_6;
BUTTON_Handle hButton_7;
BUTTON_Handle hButton_8;
BUTTON_Handle hButton_9;
BUTTON_Handle hButton_0; // 10
BUTTON_Handle hButton_Point; // 11
BUTTON_Handle hButton_Add; // 12
BUTTON_Handle hButton_Sub; // 13
BUTTON_Handle hButton_Mul; // 14
BUTTON_Handle hButton_Div; // 15
BUTTON_Handle hButton_Equ; // 16
BUTTON_Handle hButton_Inv; // 17
BUTTON_Handle hButton_Per; // 18
BUTTON_Handle hButton_Bac; // 19
BUTTON_Handle hButton_CE; // 20
BUTTON_Handle hButton_AC; // 21
BUTTON_Handle hButton_Neg; // 22
BUTTON_Handle hButton_Sqrt; // 23
EDIT_Handle hEdit;
// -------------------- 計算變量 ---------------------- //
double Result=0;
u8 AC_Flag=0; // 0:剛剛清零,重新開始計算 1:計算過程中
u8 Operator=0; // 0:運算符號清空 1:+ 2:- 3:* 4:/
u8 Operator_Last=0;
u8 Update_Var=0;
double Variable=0; // 加減乘除運算的變量
u8 Inte_Digits=0; // 整數(shù)位數(shù)
u8 Deci_Digits=0; // 小數(shù)位數(shù)
u8 Point_Flag=0; // 0:沒有小數(shù)點 1:有小數(shù)點
unsigned char str[9];
unsigned char Inv_str[10];
u8 Deci_Len;
int Inverse_Flag=1;
// --------------------- 分界線 ----------------------- //
void Result_To_String(void);
void Inverse_Key(void);
// -----------------------------------------------------//
//
void Touch_Process(void)
{
GUI_TOUCH_GetState(&STATE);
// GUI_DispStringAt("x:", 0, 300);
// GUI_DispDec(STATE.x, 3);
// GUI_DispStringAt("y:", 50, 300);
// GUI_DispDec(STATE.y, 3);
if (STATE.Pressed == 1)
{
GUI_CURSOR_SetPosition(STATE.x,STATE.y);
// GUI_CURSOR_Show();
}
}
//
//
void Button_Process(void)
{
float temp1,temp2;
switch(GUI_GetKey())
{
case 10:// 0
Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
EDIT_SetText(hEdit,"0");
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
EDIT_AddKey(hEdit,'0');
}
}
else
{
if(Variable!=0)
{
if(Inte_Digits<8)
{
Inte_Digits++;
Variable*=10;
EDIT_AddKey(hEdit,'0');
}
}
}
break;
case 1: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=1/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'1');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=1*Inverse_Flag;
EDIT_AddKey(hEdit,'1');
}
}
break;
case 2: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=2/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'2');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=2*Inverse_Flag;
EDIT_AddKey(hEdit,'2');
}
}
if(Operator!=0)
{
AC_Flag=1;
}
break;
case 3: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=3/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'3');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=3*Inverse_Flag;
EDIT_AddKey(hEdit,'3');
}
}
break;
case 4: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=4/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'4');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=4*Inverse_Flag;
EDIT_AddKey(hEdit,'4');
}
}
break;
case 5: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=5/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'5');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=5*Inverse_Flag;
EDIT_AddKey(hEdit,'5');
}
}
break;
case 6: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=6/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'6');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
Variable*=10;
Variable+=6*Inverse_Flag;
EDIT_AddKey(hEdit,'6');
}
}
break;
case 7: Operator_Last=Operator;
if(Update_Var==1)
{
Update_Var=0;
Variable=0;
}
if(Point_Flag!=0) // 出現(xiàn)小數(shù)點,開始輸入小數(shù)
{
if(Deci_Digits<7)
{
Deci_Digits++;
Variable+=7/pow(10,Deci_Digits)*Inverse_Flag;
EDIT_AddKey(hEdit,'7');
}
}
else
{
if(Inte_Digits<8)
{
if(Inte_Digits==0)
{
EDIT_SetText(hEdit,NULL);
}
Inte_Digits++;
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
完整代碼下載:
計算器GUI_Calculate_v1.0.rar
(2.62 MB, 下載次數(shù): 58)
2017-5-9 20:49 上傳
點擊文件名下載附件
基于ucgui的stm32簡易計算器
下載積分: 黑幣 -5
作者:
jbk83
時間:
2018-3-16 16:58
感謝樓主!
作者:
銀色黎明
時間:
2020-1-14 12:42
在戰(zhàn)艦板上能實現(xiàn)嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产视频中文字幕
|
亚洲免费视频播放
|
福利视频网址
|
日韩视频成人
|
黄色三级免费
|
97免费视频在线观看
|
亚洲 一区
|
欧美激情综合五月色丁香小说
|
国产精品免费一区二区三区
|
91在线看片
|
一区二区视频在线
|
国产精品一区二区电影
|
五月香婷婷
|
欧美激情精品久久久久久免费
|
www312aⅴ欧美在线看
|
国产精品美女久久久久久久网站
|
能免费看的av
|
国产黄色网址在线观看
|
日韩av一区二区在线观看
|
秋霞在线一区
|
欧美一区二区三区在线视频
|
色资源在线视频
|
www.蜜桃av
|
91精品国产综合久久久动漫日韩
|
日本视频免费观看
|
欧美视频中文字幕
|
色爱综合网
|
国产精品日本一区二区不卡视频
|
国产精品久久久久久久久久
|
97人人超碰
|
国产精品一区二区三区久久
|
91天堂网
|
精品国产乱码久久久久久丨区2区
|
日韩中文在线视频
|
风间由美一区二区三区在线观看
|
国产精品片aa在线观看
|
日韩欧美亚洲
|
97精品国产
|
日韩欧美一区二区三区免费观看
|
日韩精品成人
|
日韩精品一区二区三区在线播放
|