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

📄 opening_pwr_init.c

📁 C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码C 代码
💻 C
字号:
//********************************************************************
// Name:     app1_pwr_init.c
// 
// Copyright (C) Sitronix TECHNOLOGY INC.
// All rights reserved by Sitronix TECHNOLOGY INC.
//
// Project:    ST3110
// Author:      Terry Wu
// Begin Date:  2008/01/01
// Last update: 2008/04/01
// $Header: $
// Description:
//   pure code framework --- _pwr_init.c
//   
//   
//********************************************************************

        
#include "sys.h"
#pragma codeseg(APP)
void _alarm_set(void);

void APP_PWR_INIT(void)
{
   uint8 i,bl;
   //clean sharing area
   for(i=0;i<32;i++)
    API_SysWriteValue(RAM_SHARING_ADR,i,0);

   //init sharing area 
   //load photo path and clean other path
   API_SysLoadValue(NAND_PATH_ADR,RAM_PHO_PATH_ADR,PATH_AMOUNT);
   for(i=0;i<8;i++)
   {
       API_SysWriteValue2B(RAM_CUR_PATH_ADR,i*2,0);
       API_SysWriteValue2B(RAM_MUS_PATH_ADR,i*2,0);
       API_SysWriteValue2B(RAM_VID_PATH_ADR,i*2,0);
   }
   // set photo browser parameter
   API_SysWriteValue(RAM_SHARING_ADR,PHO_PAGE,0); 
   API_SysWriteValue(RAM_SHARING_ADR,PHO_CUR_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,PHO_PRE_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,PHO_PAINT_FLAG,1);

   // set music browser parameter
   API_SysWriteValue(RAM_SHARING_ADR,MUS_PAGE,0); 
   API_SysWriteValue(RAM_SHARING_ADR,MUS_CUR_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,MUS_PRE_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,MUS_PAINT_FLAG,1);

   // set video browser parameter
   API_SysWriteValue(RAM_SHARING_ADR,VID_PAGE,0); 
   API_SysWriteValue(RAM_SHARING_ADR,VID_CUR_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,VID_PRE_SEL,0);
   API_SysWriteValue(RAM_SHARING_ADR,VID_PAINT_FLAG,1);

   
   API_SysWriteValue(RAM_SHARING_ADR,VBUS_STATE,VBUS_SRC_NONE);    

   //load setting 
   API_SysLoadValue(NAND_SETTING_ADR,RAM_SETTING_ADR,SET_VAR_AMOUNT);

   //set BL
   bl = API_SysReadValue(RAM_SETTING_ADR,SET_BL);
   {
    const uint8 BL_array[7] = {BL7_L0,BL7_L1,BL7_L2,BL7_L3,BL7_L4,BL7_L5,BL7_L6}; 
    API_LcmSetBackLight(BL_array[bl]);
   }
   //API_LcmSetBackLight(31);  


   //set alarm
   _alarm_set();
  
}

//***************************************************************************
// Func:        void _alarm_set(void)
// Input:       alarm parameter from RAM Setting value
// Output:      none
//
// Description: set near alarm time according to current time      
//
//***************************************************************************
void _alarm_set(void)
{
 uint8 alarm_enable[2];
 uint8 alarm_hr[2],alarm_min[2];
 uint8 hour,minute,alarm_select;
 
 hour = API_TimeGetHour();
 minute = API_TimeGetMinute();
 alarm_enable[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_EN);
 alarm_enable[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_EN);
 alarm_hr[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_HOUR);
 alarm_hr[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_HOUR);
 alarm_min[0] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM1_MIN);
 alarm_min[1] = API_SysReadValue(RAM_SETTING_ADR,SET_ALARM2_MIN);
  
 
 if(alarm_enable[0] && alarm_enable[1]) // all alarm1 and alarm2 are on
 {
  if( (uint8)(alarm_hr[0]-hour) < (uint8)(alarm_hr[1]-hour) )//alarm1
  {
   alarm_select = 1;
  }
  else if( (alarm_hr[0]-hour) == (alarm_hr[1]-hour) )
  {
   if( (uint8)(alarm_min[0]-minute) < (uint8)(alarm_min[1]-minute) ) // alarm1 
   {
    alarm_select = 1;
    if(alarm_min[0]-minute == 0)
    {
     alarm_select = 2;
    }
   }
   else if( (alarm_min[0]-minute) == (alarm_min[1]-minute) ) //both
   {
    alarm_select = 1;
   }
   else //alarm2
   {
    if(alarm_min[1]-minute == 0)
    {
     alarm_select = 1;
    }
    else
    {
     alarm_select = 2;
    }
   }
  }
  else //alarm2
  {
   alarm_select = 2;
  }
  
  
 }
 else if(alarm_enable[0]) // alarm1
 {
  alarm_select = 1;
 }
 else if(alarm_enable[1]) // alarm2
 {
  alarm_select = 2;
 }
 if(alarm_enable[0] || alarm_enable[1])
 {
  API_TimeSetAlertHour(alarm_hr[alarm_select-1]);
  API_TimeSetAlertMinute(alarm_min[alarm_select-1]);
 }
}
  

⌨️ 快捷键说明

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