/*----------------------------------------------------------------------------*/ void rtc_fun(void) { MAIN_POWER_PORT_INIT(); MAIN_POWER_PORT_DISABLE(); iic_gpio_set_low(); amp_mute(1); if(alm_on_flag){ if(sys_main_vol != alrm_vol_bakup) sys_main_vol = alrm_vol_bakup; alm_on_flag = 0; } input_number_en = 0; vol_change_en=0; key_voice_en=0; main_menu = MENU_RTC; close_alarm(); dsp_set_eq_mode(0); //系统时钟div前需关闭eq SYSTEM_CLK_DIV4(); key_table_sel(0); flush_all_msg(); set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 dac_out_select(DAC_MUSIC, 0); rtc_mode_setting = RTC_DISPLAY; rtc_coordinate = 0; alm_coordinate = 0; if (alm_cnt) { put_msg_lifo(MSG_ALM_ON); } else { read_rtc(&curr_time); chk_date_err(); disp_port(MENU_RTC); } MAIN_POWER_PORT_INIT(); MAIN_POWER_PORT_DISABLE(); deal_rtc(); amp_mute(1); MAIN_POWER_PORT_ENABLE(); delay_10ms(3); key_voice_en=0; main_vol_set(0, CHANGE_VOL_NO_MEM); MAIN_POWER_PORT_ENABLE(); amp_mute(1); delay_10ms(80); snooze_en =0; PT2313_Init(); delay_10ms(10); PT2313_Init(); }
/*----------------------------------------------------------------------------*/ void rtc_function(void) { #if !defined(MINI_DIGIT_BOX) rtc_mode = RTC_PLAY_MODE; rtc_set = 0; alm_set = 0; #endif flush_low_msg(); PT1 = 1; Mute_Ext_PA(MUTE); if (alm_flag) //闹钟响时默认进入闹钟模式 { rtc_mode = ALM_UP_MODE; #ifdef ALM_UP_DISP_TIME Disp_Con(DISP_RTC); #else Disp_Con(DISP_ALM_UP); #endif goto _deal_rtc0; } else { get_curr_date(); Disp_Con(DISP_RTC); } set_max_vol(MAX_ANALOG_VOL, MAX_DIGITAL_VOL); //设置RTC模式的音量上限 dac_out_select(DAC_DECODE); sysclock_div2(1); #ifdef UART_ENABLE_RTC //printf(" -----> RTC MODE %x rtc_set %x\r\n",(u16)rtc_mode,(u16)rtc_set); //printf(" --0000-->RTC MODE ==%d \r\n",(u16)curr_date.year); //printf(" --1111--->RTC MODE ==%d \r\n",(u16)curr_date.month); //printf(" --3333--->RTC MODE ==%d \r\n",(u16)curr_date.day); printf(" --HOUR--->RTC MODE ==%d \r\n",(u16)curr_date.hour); printf(" --MIN --->RTC MODE ==%d \r\n",(u16)curr_date.minutes); //printf(" --date--->RTC MODE ==%d \r\n",(u16)curr_date.date); #endif _deal_rtc0: deal_rtc(); #if defined(NEW_RTC_SETTING_CTRL) new_rtc_setting=0; #endif main_vol_set(0, CHANGE_VOL_NO_MEM); sys_clock_pll(); }