/*----------------------------------------------------------------------------*/ void sys_clk_div(u8 arg) { #if ECHO_ENABLE static u8 _idata cur_div; /*混响功能使能后,系统时钟必须运行在48M*/ if (cur_div == arg) { return; } if (echo_ptr->status == BUSY)// && (cur_div != 1)) { arg = 1; } cur_div = arg; #endif switch (arg) { case 1: //deg_str("set sys clk 1\n"); SYSTEM_CLK_DIV1(); break; case 2: //deg_str("set sys clk 2\n"); SYSTEM_CLK_DIV2(); break; case 4: //deg_str("set sys clk 4\n"); SYSTEM_CLK_DIV4(); break; default: break; } }
/*----------------------------------------------------------------------------*/ 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 sys_init(void) { #if defined(UART_ENABLE) uart_init(); deg_str("power on\n"); #endif SYS_POWER_OFF(); core_power_on(); OTP_CLK_DIV2(); DECODER_DIV2(); SYSTEM_CLK_DIV4(); #if (NO_DISP != monitor) init_display(); #endif sd_speed_init(0,100); //#if SDMMC_CMD_MODE // sd_chk_ctl(SET_SD_H_CHK); //#endif init_port_sd(); //kv_init(); ///按键音初始化函数 #if RTC_ENABLE rtc_init(); //RTC初始化,检测是否闹钟开机 //{ //work_mode = RTC_MODE; //} #else { u8 rtc_reg = read_rtc_reg(); if (rtc_reg & BIT(7)) //检测是否掉电 { rtc_reg &= ~BIT(7); //清零PDFLAG write_rtc_reg(rtc_reg); #if USE_RTC_RAM reset_rtc_ram(); #endif } } #endif SYS_POWER_OFF(); key_init(); bsp_init(); SYS_POWER_OFF(); //interrupt_init(15, rtcisr); interrupt_init(3, timer3isr); interrupt_init(0, timer0isr); #if defined(BLUE_TOOTH_UART_FUNC) interrupt_init(7, uart_isr); #endif enable_interrupt(); /// flashled(3); }
/*----------------------------------------------------------------------------*/ void aux_fun(void) { flashled(3); // amp_abd(1); //work_mode++; //return ; input_number_en = 0; vol_change_en=1; main_menu = MENU_AUX; disp_port(MENU_AUX); amux_dsp_eq(); SYSTEM_CLK_DIV4(); encode_channel = REC_LINEIN; encode_vol = 3; key_table_sel(0); flush_all_msg(); set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 aux_main(); main_vol_set(0, CHANGE_VOL_NO_MEM); break_encode(); }