Exemplo n.º 1
0
void RestoreMoniter(uchar * ucPTime)
{
    ulong ulDataAddr;
    WriteDataDirect(ucPTime, EPL_RESTOREMONITER_LASTTIME, 5);
    ulDataAddr=SetTwoTableNextPoint(TYPE_MONITOR_VOLTAGE_ALL_RECORD);
    if(GAL_GETTWOTABLE_ADDRERR != ulDataAddr)
    {
        WriteDataDirect(&RAM[RAM_VOLTAGE_ALL_MONITOR_STAT_BLOCK_START+3], ulDataAddr, CON_HISTORY_MONITER_LENGTH);
    }
    ClrFlashMode();
    ClearWatchDog();
    ulDataAddr=SetTwoTableNextPoint(TYPE_MONITOR_VOLTAGE_A_RECORD);
    if(GAL_GETTWOTABLE_ADDRERR != ulDataAddr)
    {
        WriteDataDirect(&RAM[RAM_VOLTAGE_A_MONITOR_STAT_BLOCK_START], ulDataAddr, CON_HISTORY_MONITER_LENGTH);
    }
    ClrFlashMode();
    ClearWatchDog();
    ulDataAddr=SetTwoTableNextPoint(TYPE_MONITOR_VOLTAGE_B_RECORD);
    if(GAL_GETTWOTABLE_ADDRERR != ulDataAddr)
    {
        WriteDataDirect(&RAM[RAM_VOLTAGE_B_MONITOR_STAT_BLOCK_START], ulDataAddr, CON_HISTORY_MONITER_LENGTH);
    }
    ClrFlashMode();
    ClearWatchDog();
    ulDataAddr=SetTwoTableNextPoint(TYPE_MONITOR_VOLTAGE_C_RECORD);
    if(GAL_GETTWOTABLE_ADDRERR != ulDataAddr)
    {
        WriteDataDirect(&RAM[RAM_VOLTAGE_C_MONITOR_STAT_BLOCK_START], ulDataAddr, CON_HISTORY_MONITER_LENGTH);
    }
    ClrFlashMode();
    ClearWatchDog();
    Data3ByteBCDAdd1(EPL_TOTAL_CLR_MONITER_COUNT);
}
Exemplo n.º 2
0
//按键操作处理,菜单显示
void keyproc(void)
{ 
    LongPressSec=0;
    gKeyValue=key_scan();
    if(gKeyValue)
    {
        if(bPrompt)     //如果接收提示铃声响,第一次按键选停止提示铃声
        {
//             PromptTim_tmp=0;
            bPrompt=0;
            gKeyValue=0;
            delayms(300);
        }
    }

    switch(gKeyValue)
    {
        case KEY_VALUE_OK:
            LCDBK_ON(15);        
            if(!bBkLight)      //第一次打开背光灯时不能进入菜单 
            {
                bBkLight=1;     
                LCDBK=0;
                while(!KEY_OK) ClearWatchDog();  
                break;
            }
            index = MenuProc[index].Enter;
            Function = MenuProc[index].handle;
            MenuTimout(20);
            (*Function)();
            while(!KEY_OK) ClearWatchDog();
            break;
        
        case KEY_VALUE_UP:
            LCDBK_ON(15);       
            if(!bBkLight)
            {
                bBkLight=1;LCDBK=0;
                while(!KEY_UP)ClearWatchDog();
                break;
            }
            index = MenuProc[index].Up;
            Function = MenuProc[index].handle;
            MenuTimout(20);            
            (*Function)();
            break;
        
        case KEY_VALUE_DOWN:
            LCDBK_ON(15); 
            if(!bBkLight)
            {
                bBkLight=1;LCDBK=0;
                while(!KEY_DOWN)ClearWatchDog();
                break;
            }        
            index = MenuProc[index].Down;
            Function = MenuProc[index].handle;
            MenuTimout(20);
            (*Function)();            

            break;
            
        case KEY_VALUE_RETURN:
            LCDBK_ON(15);        
            if(!bBkLight)
            {
                bBkLight=1;LCDBK=0;
                while(!KEY_RETURN)ClearWatchDog();  
                break;
            }
            else
            {
                while((!KEY_RETURN)&&(index==0))
                {
                    if( LongPressSec>2)      // 长按
                    {
                        index=63;
                        MenuMode=3;
                         Function = MenuProc[63].handle;
                        (*Function)();
                        return;
                    }
                    ClearWatchDog();                      
                }
						index = MenuProc[index].Return;
            Function = MenuProc[index].handle;
            if(index==0)
            {
                MenuTimout(0);
            }
            else
            {
                MenuTimout(20); 
            }
            (*Function)();
            delayms(80);
            break;
            }
            break;
#if 0		 /*sjz change*/							
                    if( LongPressSec>2)      // 长按
                    {
                        index=58;
                        MenuMode=3;
                         Function = MenuProc[58].handle;
                        (*Function)();
                        return;
                    }
                    ClearWatchDog();                      
                }
            }