📄 uifunction.c
字号:
//calTemp = 0;
ChangeDisplayFlag = 0;
}
temp = calTemp;
Float2Led(calTemp , LedValue);
caltemptemp2 = 0;
aa = 0;
calTemp = 0.0;
caltemptemp = 0;
calSampleNum = 0;
LED_1 = Symbol_Segment[ Protect_Select *2 ] ;
if( Symbol_Segment[ Protect_Select*2 + 1 ] != 0 )
{
LED_2 = Symbol_Segment[ Protect_Select * 2 + 1 ] ;
if(temp> 99)
{
LED_3 = LedNum[9];
LED_4 =LedNum[9];
}
else
{
LED_3 = LedValue[0];
LED_4 = LedValue[1] ;
}
}
else
{
/*
if((LedValue[0]>>8)&0x1)
{
LED_2 = 0;
LED_3 = LedValue[0];
LED_4 = LedValue[1];
}
else
{
LED_2 = LedValue[0];
LED_3 = LedValue[1];
LED_4 = LedValue[2];
}*/
LED_2 = LedValue[0];
LED_3 = LedValue[1];
LED_4 = LedValue[2];
}
}
} //end if( Protect_Select <20 )
else
{
switch( Protect_Select - 9)
{
case 1:
LED_1 = chard;
LED_2 = charAdot;
if( JDInputs -> DI[0] == 1)
{
LED_3 = charF;
LED_4 = charF;
}
else
{
LED_3 = LedNum[0];
LED_4 = LedNum[0];
}
break;
case 2:
LED_1 = chard;
LED_2 = charbdot;
if( JDInputs -> DI[1] == 1)
{
LED_3 = charF;
LED_4 = charF;
}
else
{
LED_3 = LedNum[0];
LED_4 = LedNum[0];
}
break;
case 3:
LED_1 = chard;
LED_2 = charCdot;
if( JDInputs -> DI[2] == 1)
{
LED_3 = charF;
LED_4 = charF;
}
else
{
LED_3 = LedNum[0];
LED_4 = LedNum[0];
}
break;
case 4:
LED_1 = chard;
LED_2 = charddot;
if( JDInputs -> DI[3] == 1)
{
LED_3 = charF;
LED_4 = charF;
}
else
{
LED_3 = LedNum[0];
LED_4 = LedNum[0];
}
break;
case 5:
LED_1 = charb;
LED_2 = charJdot;
if( Alarm_Info < 10)
{
LED_3 = 0;
ii = Alarm_Info;
LED_4 = LedNum[(int)Alarm_Info];
}
else
{
LED_3 = LedNum[(int)Alarm_Info/10];
LED_4 = LedNum[(int)Alarm_Info%10];
}
break;
case 6:
LED_1 = chart;
LED_2 = Numdot[2];
if( Break_Info < 10)
{
LED_3 = 0;
LED_4 = LedNum[Break_Info];
}
else
{
LED_3 = LedNum[Break_Info/10];
LED_4 = LedNum[Break_Info%10];
}
break;
case 7: //视在功率电度
if(diandu_disp == 0)
{
LED_1 =charS;
LED_2 =LedNum[2];
LED_3 =chard;
LED_4 =chard;
}
LedTemp[0] = LedNum[0];
LedTemp[1] = LedNum[0];
LedTemp[2] = LedNum[0];
LedTemp[3] = LedNum[0];
LedTemp[4] = LedNum[0];
LedTemp[5] = LedNum[0];
LedTemp[6] = LedNum[0];
LedTemp[7] = LedNum[0];
alength=sprintf(str,"%d",diandu_int);
for(j=8; alength>0&&j>0 ; alength--,j--)
{
//diandutemp = *(str+alength-1);
//yxj = solid & 0xf ;
LedTemp[j-1] = LedNum[(*(U8 *)(str+alength-1)) &0xf];
}
if(diandu_disp == 1)
{
LED_1 = LedTemp[1];
LED_2 = LedTemp[2];
LED_3 = LedTemp[3];
LED_4 = LedTemp[4];
}
if(diandu_disp == 2)
{
LED_1 = LedTemp[5];
LED_2 = LedTemp[6];
LED_3 = LedTemp[7]+0x100;
LED_4 = LedNum[diandu_float_to_int];
}
break;
case 8://有功功率电度
if(diandu_disp == 0)
{
LED_1 =chary;
LED_2 =charg;
LED_3 =chard;
LED_4 =chard;
}
LedTemp[0] = LedNum[0];
LedTemp[1] = LedNum[0];
LedTemp[2] = LedNum[0];
LedTemp[3] = LedNum[0];
LedTemp[4] = LedNum[0];
LedTemp[5] = LedNum[0];
LedTemp[6] = LedNum[0];
LedTemp[7] = LedNum[0];
alength=sprintf(str,"%d",diandu_int);
for(j=8; alength>0&&j>0 ; alength--,j--)
{
//diandutemp = *(str+alength-1);
//yxj = solid & 0xf ;
LedTemp[j-1] = LedNum[(*(U8 *)(str+alength-1)) &0xf];
}
if(diandu_disp == 1)
{
LED_1 = LedTemp[1];
LED_2 = LedTemp[2];
LED_3 = LedTemp[3];
LED_4 = LedTemp[4];
}
if(diandu_disp == 2)
{
LED_1 = LedTemp[5];
LED_2 = LedTemp[6];
LED_3 = LedTemp[7]+0x100;
LED_4 = LedNum[diandu_float_to_int];
}
break;
default:
break;
}//end switch( Protect_Select - 9)
} //end else
}
}
U16 FixValueTemp[4];
int udelaytime;
int runTimes;
float LedResultTemp[3];
float LedResult;
void FixValue()
{
int dotPosition ; // 位置 0_1_2_3
U16 tempData;
int i = 0;
int ii;
//FixValueTemp[0] = 0 ; //小数点位置 1为最左边
if( runTimes == FirstTime)
{
FixValueTemp[0] = 0;
FixValueTemp[1] = LED_2;
FixValueTemp[2] = LED_3;
FixValueTemp[3] = LED_4;
runTimes++;
}
if(Bit_NeedSet == 3)
{
ledBuff[1] = FixValueTemp[1] & 0xFE00;
ledBuff[2] = FixValueTemp[2] & 0xFE00;
ledBuff[3] = FixValueTemp[3] & 0xFE00;
}
else
{
ledBuff[1] = FixValueTemp[1] ;
ledBuff[2] = FixValueTemp[2] & 0xFE00;
ledBuff[3] = FixValueTemp[3] & 0xFE00;
}
if(Func_Select == System)
{
Menu_Level = 1;
}
if( Menu_Level ==0 )
{
LedResultTemp[0] = Led2Int(FixValueTemp[1]&0xFE00);
LedResultTemp[1] = Led2Int(FixValueTemp[2]&0xFE00);
LedResultTemp[2] = Led2Int(FixValueTemp[3]&0xFE00);
Cursor = 3 - Up_Flag ; // 位置: _ 1 2 3
if( Cursor < (4 - Bit_NeedSet) )
{
Cursor = 3;
}
if( Down_Flag == 0)
{
LedResultTemp[Cursor - 1] = ChangeLED1( &FixValueTemp[Cursor] );
Down_Flag = -1;
}
/********************************************************************************/
if( Up_Flag == Bit_NeedSet+1)
{
Up_Flag = 0;
}
/*********************************************************************************/
}
if( Menu_Level != 0)
{
if(Bit_NeedSet == 3)
{
LedResultTemp[0] = Led2Int(FixValueTemp[1]&0xFE00);
LedResultTemp[1] = Led2Int(FixValueTemp[2]&0xFE00);
LedResultTemp[2] = Led2Int(FixValueTemp[3]&0xFE00);
}
else
{
LedResultTemp[0] = 0;
LedResultTemp[1] = Led2Int(FixValueTemp[2]&0xFE00);
LedResultTemp[2] = Led2Int(FixValueTemp[3]&0xFE00);
}
if( Up_Flag == 0 ) //设定小数点位置
{
/*****查找小数点位置****************/
if(FixValueTemp[0] == 0 )
{
if(Bit_NeedSet == 3)
{
dotPosition = 1;
FixValueTemp[0] = 1;
}
else
{
dotPosition = 2;
FixValueTemp[0] = 2;
}
ii = dotPosition;
i = 4 - Bit_NeedSet;
do
{
tempData = FixValueTemp[i];
i++;
if( ( ( tempData >> 8 ) & dot ) != dot )
{
dotPosition ++ ;
FixValueTemp[0] = dotPosition;
}
else break;
}while(i < Bit_NeedSet );
/*
for( i = (4 - Bit_NeedSet ); i < Bit_NeedSet ; i++)
{
tempData = FixValueTemp[i];
if( ( ( tempData >> 8 ) & dot ) != dot )
{
dotPosition ++ ;
FixValueTemp[0] = dotPosition;
}
else break;
}
*/
}
dotPosition = FixValueTemp[0];
if( Down_Flag == 0 )
{
dotPosition--;
if( dotPosition < 4 - Bit_NeedSet )
{
dotPosition = 3;
}
FixValueTemp[0] = dotPosition;
Down_Flag = -1 ;
}
}
/*************************************************************************/
if( Up_Flag > 0)
{
Cursor = 4 - Up_Flag ; // 位置: _ 1 2 3
if( Cursor < (4 - Bit_NeedSet) )
{
Cursor = 3;
}
if( Down_Flag == 0)
{
LedResultTemp[Cursor - 1] = ChangeLED1( &FixValueTemp[Cursor] );
Down_Flag = -1;
}
}
/********************************************************************************/
if( Up_Flag == Bit_NeedSet+1)
{
Up_Flag = 0;
}
}
/*********************************************************************************/
switch ( FixValueTemp[0] )
{
case 3:
{
LedResult = LedResultTemp[0]*100+LedResultTemp[1]*10+LedResultTemp[2];
}
break;
case 2:
{
if( LedResultTemp[2] != 0)
{
LedResult = LedResultTemp[0]*10+LedResultTemp[1]+LedResultTemp[2] /10;
}
else
{
LedResult = LedResultTemp[0]*10+LedResultTemp[1];
}
}
break;
case 1:
{
LedResult = LedResultTemp[0] ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -