⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guis.c

📁 基于c的电动机保护程序
💻 C
字号:
#include "nucleus.h"
#include "led.h"
#include "UItype.h"
extern int Break_flag;
extern int Start_Enable_Signal;
extern MenuStatus_Struct  *MenuStatus;
extern SubMenu_Struct OverLoad_SubMenu_2;
extern SubMenu_Struct OverHeat_SubMenu_1;
extern System_Menu_Struct SaveValue_Menu;
extern System_Menu_Struct LoadValue_Menu;
extern NU_TASK			GUI_TASK;	
					
extern int AD_OK;
extern NU_HISR         _SaveValue_Task;
extern NU_HISR         _LoadValue_Task;
int ledtemp = 0;
int Fixed= 0;

int LoadValue_Flag = 0;
VOID Gui_Task(UNSIGNED argc, VOID *argv)
{
	int i;
	
	NU_Sleep(1000);  //调试屏蔽
	while(1){
		KEY_Process(keyNum);
		keyNum = -1;
             AD_OK++;
             if (AD_OK > 250)
             {
             	Timer_init(2, 75000);
             	Timer_init(1, 75000);
             }
	
	if( Enter_Flag == FixingConfirm )
	{
		if( (U32)ActiveMenuAdd == (U32)(&OverLoad_SubMenu_2))  //过负荷曲线选择
		{
			 *(JDSettingAdd+offset_OverLoad_Type) = (float)ledtemp; 
		}
		else if((U32)ActiveMenuAdd == (U32)(&OverHeat_SubMenu_1)) 
		{
			*(JDSettingAdd+offset_OverHeat_TimeType) = (float)ledtemp; 
		
		}
			
		else
		WriteIn();
		Enter_Flag = -1;
		Fixed=1;
	}
	if( Enter_Flag == SystemParaSetConfirm )
	{
		WriteIn();
		if( (U32)ActiveMenuAdd == (U32)(&SaveValue_Menu))
		{	
			
			//激活  存定值高级中断
			NU_Activate_HISR(&_SaveValue_Task);
		}
		
		if( (U32)ActiveMenuAdd == (U32)(&LoadValue_Menu))
		{
			
			//激活  读取定值高级中断
			
			NU_Activate_HISR(&_LoadValue_Task);
		}
		Enter_Flag = -1;
		Fixed=1;
		
		SystemSetting.CurrentRating = *(JDSettingAdd + offset_Current_Rating );
		SystemSetting.VoltageRating = *(JDSettingAdd + offset_Voltage_Rating );
		
	}
	if( Break_flag || (Start_Enable_Signal == -1)  )
	{
			SystemSetting.StartSingal = 0;
	}

	if( Func_Select != NeedPassword )
	{
		
		if(Enter_Flag != SystemParaSet)
		{
			Display_Process();
		}
		
		if(Func_Select != Measure)          //整定值菜单
		{	
			ledBuff[0] = LED_1;
			ledBuff[1] = LED_2;
			ledBuff[2] = LED_3;
			ledBuff[3] = LED_4;
			
			if( Enter_Flag == SystemParaSet )
			{
				setSystem();
			}
	
			if( Enter_Flag == FixingValue )  //设定中
			{
				
				if( (U32)ActiveMenuAdd == (U32)(&OverLoad_SubMenu_2))  //过负荷曲线选择
				{
					if( runTimes == FirstTime)
					{	
						ledtemp = (int)*(JDSettingAdd+offset_OverLoad_Type);
						runTimes++;
					}
		
					
					if(Up_Flag > 0)
					{
						ledtemp++;
						Up_Flag = 0;
					}
					if(Down_Flag >=0)
					{
						ledtemp--;
						Down_Flag = -1;
					}
					if(ledtemp==4) ledtemp = 1;
					if(ledtemp==0) ledtemp = 3;
					
				}
				else if((U32)ActiveMenuAdd == (U32)(&OverHeat_SubMenu_1))
				{
					if( runTimes == FirstTime)
					{	
						ledtemp = (int)*(JDSettingAdd+offset_OverHeat_TimeType);
						runTimes++;
					}
		
					
					if(Up_Flag > 0)
					{
						ledtemp++;
						Up_Flag = 0;
					}
					if(Down_Flag >=0)
					{
						ledtemp--;
						Down_Flag = -1;
					}
					if(ledtemp==15) ledtemp = 1;
					if(ledtemp== 0) ledtemp = 14;
				
				}
				else
				{
					FixValue();
				}
			}
		}
	}
	else
	{	
		
		Menu_Level = 1;
		Password();
	    Menu_Level = 0 ;
	}
	/*************************************************/
	
	//NU_Suspend_Task(&GUI_TASK);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -