////////////////////////main end/////////////////// void sysclk_ini(void) { CLK_HSECmd(ENABLE);//外部时钟开?? CLK_LSICmd(ENABLE);//内部低频RC开?? CLK_HSICmd(ENABLE);//内部高频RC开???? CLK_ClockSwitchCmd(ENABLE);//切换使能?? CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);//切换配置到外部时钟,关闭原来时钟 }
//设置外部时钟为主时钟 //输入参数:无 //输出参数:无 void Set_HSE(void) { //CLK_DeInit(); //恢复默认设置 CLK_HSECmd(ENABLE); //外部时钟开 while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY)); //等待外部时钟稳定 CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1); //不分频 CLK_ClockSwitchCmd(ENABLE); //时钟切换使能 //切换配置 CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE); }
// 初始化系统时钟 void system_config_clk_init(void) { //clock_config(16); // 内部时钟16M clock_config(8); // 内部时钟8M #if 0 CLK_DeInit(); CLK_FastHaltWakeUpCmd(ENABLE); CLK_HSECmd(DISABLE); CLK_HSICmd(ENABLE); CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV4); #endif }