📄 uifunction.c
字号:
{
/*************************判断菜单切换的时候是不是进入时间菜单***********/
if( ((System_Menu_Struct *)ActiveMenuAdd) != (&Time_Menu) )
{
if( Down_Flag == 0 )
{
ActiveMenuAdd =((System_Menu_Struct *)ActiveMenuAdd)->NodeNext ;
if( ((System_Menu_Struct *)ActiveMenuAdd) == (&Time_Menu) )
{
TimeSetting_Level = setYear;
}
Down_Flag = -1;
}
if( Up_Flag == 0 )
{
ActiveMenuAdd =((System_Menu_Struct *)ActiveMenuAdd)->NodePre;
if( ((System_Menu_Struct *)ActiveMenuAdd) == (&Time_Menu) )
{
TimeSetting_Level = setSecond;
}
Up_Flag = -1;
}
}
else
{
if( Up_Flag == 0 )
{
if( TimeSetting_Level == setYear)
{
ActiveMenuAdd =((System_Menu_Struct *)ActiveMenuAdd)->NodePre;
}
else
{
TimeSetting_Level--;
}
Up_Flag = -1;
}
if( Down_Flag ==0 )
{
if( TimeSetting_Level == setSecond )
{
ActiveMenuAdd =((System_Menu_Struct *)ActiveMenuAdd)->NodeNext;
}
else
{
TimeSetting_Level++;
}
Down_Flag = -1;
}
}
/*--------------------------------------------------------------------*/
if( ((System_Menu_Struct *)ActiveMenuAdd)->MenuType != TimeSetting )
{
if( ((System_Menu_Struct *)ActiveMenuAdd)->MenuType == SelectFunc )
{
LED_1 = ((System_Menu_Struct *)ActiveMenuAdd) -> symbolData[0] ;
LED_2 = ((System_Menu_Struct *)ActiveMenuAdd) -> symbolData[1] ;
LED_3 = LED_3 & 0xFF;
Float2Led( *(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd) ,LedValue);
LED_4 = LedValue[0] & 0xFE00;
}
if( ((System_Menu_Struct *)ActiveMenuAdd)->MenuType == ValueSetting )
{
Bit_NeedSet = ((System_Menu_Struct *)ActiveMenuAdd)->BitNeedSet;
LED_1 = ((System_Menu_Struct *)ActiveMenuAdd) -> symbolData[0];
if( (((System_Menu_Struct *)ActiveMenuAdd) -> DotEnable) == noDot)//无小数点
{
if( (((System_Menu_Struct *)ActiveMenuAdd) -> BitNeedSet) !=3 )
{
LED_2 = ((System_Menu_Struct *)ActiveMenuAdd) -> symbolData[1] ;
//Float2Led( *(((System_Menu_Struct *)ActiveMenuAdd) -> dataAdd),LedValue );
datatemp = *(((System_Menu_Struct *)ActiveMenuAdd) -> dataAdd);
if(datatemp>99)
{
LED_3 = LedNum[9];
LED_4 = LedNum[9];
}
else
{
LED_3 = LedNum[datatemp/10];
LED_4 = LedNum[datatemp%10];
}
}
else
{
datatemp = *(((System_Menu_Struct *)ActiveMenuAdd) -> dataAdd);
if(datatemp>999)
{
LED_3 = LedNum[9];
LED_3 = LedNum[9];
LED_4 = LedNum[9];
}
else
{
LED_2 = LedNum[datatemp/100];
LED_3 = LedNum[datatemp%100/10];
LED_4 = LedNum[datatemp%10];
}
}
} //end if( (((System_Menu_Struct *)ActiveMenuAdd) -> DotEnable) == 0)
else
{
if( (((System_Menu_Struct *)ActiveMenuAdd) -> BitNeedSet) !=3 )
{
LED_2 = ((System_Menu_Struct *)ActiveMenuAdd) -> symbolData[1] ;
Float2Led( *(float *)(((System_Menu_Struct *)ActiveMenuAdd) -> dataAdd),LedValue );
LED_3 = LedValue[0]& 0xFF00;
LED_4 = LedValue[1]& 0xFF00;
}
else
{
Float2Led( *(float *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd) ,LedValue);
LED_2 = LedValue [0]& 0xFF00;
LED_3 = LedValue [1]& 0xFF00;
LED_4 = LedValue [2]& 0xFF00;
}
} //end else
}
}
if( ((System_Menu_Struct *)ActiveMenuAdd)->MenuType == TimeSetting )
{
//(&SystemSetting)->minute = 36;
//byte_write( 0x80,0x0);
//ii = byte_read(0x81);
if(iii == 1)
{
//EX_read_time(&SystemSetting);
read_time(&SystemSetting);
iii = 0;
}
iii++;
switch( TimeSetting_Level )
{
case setYear:
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level)) /1000;
timeTemp = ((&SystemSetting) -> year);
//timeTemp = ((&SystemSetting) -> year) /1000;
LED_1 = LedNum[2];
//timeTemp =( (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level)) -timeTemp*1000) /100;
//timeTemp = ( ((&SystemSetting) -> year -timeTemp*1000)) /100;
LED_2 = LedNum[0];
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level)) %10;
timeTemp = ((&SystemSetting) -> year) %10;
LED_4 = LedNum[timeTemp];
//timeTemp = ((*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level)) %100 -timeTemp)/10;
timeTemp = ( ((&SystemSetting) -> year) %100 -timeTemp )/10;
LED_3 = LedNum[timeTemp];
break;
case setDate:
/****************************************月份****************************/
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level)) /10;
timeTemp = ((&SystemSetting) -> month) /10;
LED_1 = LedNum[timeTemp];
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level))%10;
timeTemp = ((&SystemSetting) -> month) %10;
LED_2 = Numdot[timeTemp];
/***************************************日期****************************/
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 1 )) /10;
timeTemp = ((&SystemSetting) -> date) /10;
LED_3 = LedNum[timeTemp];
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 1 ))%10;
timeTemp = ((&SystemSetting) -> date) %10;
LED_4 = LedNum[timeTemp];
break;
case setHM:
/****************************************小时****************************/
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level+1)) /10;
timeTemp = ((&SystemSetting) -> hour) /10;
LED_1 = LedNum[timeTemp];
timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level+1))%10;
timeTemp = ((&SystemSetting) -> hour) %10;
LED_2 = Numdot[timeTemp];
/***************************************分钟****************************/
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 2 )) /10;
timeTemp = ((&SystemSetting) -> minute) /10;
LED_3 = LedNum[timeTemp];
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 2 ))%10;
timeTemp = ((&SystemSetting) -> minute) %10;
LED_4 = LedNum[timeTemp];
break;
case setSecond:
/****************************************秒****************************/
LED_1 = 0;
LED_2 = dot<<8;
/*******************************************************************/
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 2 )) /10;
timeTemp = ((&SystemSetting) -> second) /10;
LED_3 = LedNum[timeTemp];
//timeTemp = (*(((int *)(((System_Menu_Struct *)ActiveMenuAdd)->dataAdd))+TimeSetting_Level + 2 ))%10;
timeTemp = ((&SystemSetting) -> second) %10;
LED_4 = LedNum[timeTemp];
break;
}
Up_Flag = -1;
Down_Flag = -1;
}
}
/****************************设定整定值时的显示*******************/
if( Func_Select == Setting )
{
PreMenuAdd = ActiveMenuAdd;
ActiveMenuAdd = MenuNode_Scan( Protect_Select, Menu_Level );
if( (U32)ActiveMenuAdd == (U32)(&OverLoad_SubMenu_2)) //过负荷曲线选择
{
LED_1 = charq;
LED_2 = charFdot;
LED_3 = 0;
LED_4 = LedNum[ (int)*(JDSettingAdd+offset_OverLoad_Type)];
}
else if( (U32)ActiveMenuAdd == (U32)(&OverHeat_SubMenu_1)) //过负荷曲线选择
{
LED_1 = charr;
LED_2 = charHdot;
LED_3 = LedNum[ (int)*(JDSettingAdd+offset_OverHeat_TimeType)/10];;
LED_4 = LedNum[ (int)*(JDSettingAdd+offset_OverHeat_TimeType)%10];
}
else
{
if( Menu_Level == 0)
{
Bit_NeedSet = ((Menu_Top_Struct *)ActiveMenuAdd)->BitNeedSet;
Menu_Num = ((Menu_Top_Struct *)ActiveMenuAdd)->MenuNum;
LED_1 = ((Menu_Top_Struct *)ActiveMenuAdd) -> symbolData[0] ;
if( ( ((Menu_Top_Struct *)ActiveMenuAdd) -> BitNeedSet) !=3 )
{
LED_2 = ((Menu_Top_Struct *)ActiveMenuAdd) -> symbolData[1] ;
}
else
{
Float2Led( *(((Menu_Top_Struct *)ActiveMenuAdd)->data[0]) ,LedValue);
LED_2 =LedValue[0] & 0xFE00;
}
Float2Led( *(((Menu_Top_Struct *)ActiveMenuAdd)->data[1]),LedValue);
LED_3 =LedValue[0] & 0xFE00;
Float2Led( *(((Menu_Top_Struct *)ActiveMenuAdd)->data[2]),LedValue);
LED_4 =LedValue[0]& 0xFE00;
}
else
{
Bit_NeedSet = ((SubMenu_Struct *)ActiveMenuAdd)->BitNeedSet;
LED_1 = ((SubMenu_Struct *)ActiveMenuAdd) -> symbolData[0];
if( (((SubMenu_Struct *)ActiveMenuAdd) -> BitNeedSet) !=3 )
{
LED_2 = ((SubMenu_Struct *)ActiveMenuAdd) -> symbolData[1] ;
if( (((SubMenu_Struct *)(ActiveMenuAdd)) -> parameter) == TimeValue)
{
Float2Led( (*(((SubMenu_Struct *)ActiveMenuAdd) -> dataAdd))/1000 , LedValue);
}
else
{
Float2Led( *(((SubMenu_Struct *)ActiveMenuAdd) -> dataAdd),LedValue );
}
LED_3 = LedValue[0];
LED_4 = LedValue[1];
}
else
{
if( (((SubMenu_Struct *)ActiveMenuAdd) -> parameter) == TimeValue)
{
Float2Led( (*(((SubMenu_Struct *)ActiveMenuAdd) -> dataAdd))/1000 , LedValue);
}
else
{
Float2Led( *(((SubMenu_Struct *)ActiveMenuAdd) -> dataAdd),LedValue );
}
LED_2 = LedValue [0];
LED_3 = LedValue [1];
LED_4 = LedValue [2];
}
}
}
}
/****************************************测量时候的显示***************/
if( Func_Select == Measure )
{
if( Protect_Select <10 )
{
if(calSampleFlag == 1)
{
calSampleFlag = 0;
valuetemp = (*((float *)(*(unsigned long *)(MeasureDisplayData_Add+Protect_Select))));
/*
xx2 += calSampleNum*calSampleNum;
y +=valuetemp ;
x += calSampleNum;
xy += (valuetemp*calSampleNum) ;
x2 = x*x;
valueStore[valuetempNum] = valuetemp;
max = max > valuetemp?max : valuetemp;
min = min < valuetemp?min : valuetemp;
*/
//valuetempNum++;
calSampleNum++;
//valuetempNum %= 100;
caltemptemp += valuetemp;
/*
if((valuetempNum>=2)&&(valuetempNum % 2 == 0))
{
caltest1 = valueStore[valuetempNum-2];
if( aa > 0 )
{
caltest1 = caltest;
}
caltest2 = valueStore[valuetempNum-1];
caltest3 = valueStore[valuetempNum];
aa++;
if(caltest1 >= caltest2)
{
if( caltest1 >= caltest3)
{
if(caltest2>=caltest3)
{
caltest = caltest2;
}
else
{
caltest = caltest3;
}
}
else
{
caltest = caltest1;
}
}
else
{
if(caltest2 >= caltest3)
{
if( caltest1>=caltest3)
{
caltest = caltest1;
}
else
{
caltest = caltest3;
}
}
else
{
caltest = caltest2;
}
}
caltemptemp2 += caltest;
}
*/
}
if( (calSampleNum >= AverageCalNum) || ( ChangeDisplayFlag == 1) )
{
/*
b = (xx2*y-x*xy)/(AverageCalNum*xx2-x2);
xx2 =0;
y =0;
x = 0;
xy = 0; ;
x2 = 0;;
*/
caltemptemp /= calSampleNum;
//caltemptemp2 /= aa;
calTemp = caltemptemp;
//calTemp = caltemptemp2;
//calTemp = b;
if( ChangeDisplayFlag == 1 )
{
calTemp = (*((float *)(*(unsigned long *)(MeasureDisplayData_Add+Protect_Select))));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -