Ejemplo n.º 1
0
/*----------------------------------------------------------------------------*/
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;
	}	
}
Ejemplo n.º 2
0
/*----------------------------------------------------------------------------*/
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();
	
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
/*----------------------------------------------------------------------------*/
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();
}