//使用外部晶振24MHz,1分频跑不起来,2分频才可以正常工作,不知道哪设置问题
void Clk_Config(void)
{
ErrorStatus val;
CLK_DeInit();
//CLK_HSECmd(ENABLE);
//CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//使用这个CPU不工作,why??
//CLK_SWIMConfig(CLK_SWIMDIVIDER_2);
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV2); // 这个可以正常工作
val= CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART3, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER3, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC, ENABLE);
/*时钟转换同时开启安全,防止外部时钟出错(实际无太大的作用)*/
//CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE,DISABLE, DISABLE);
//CLK_ClockSwitchCmd(ENABLE);
//CLK_ITConfig(CLK_IT_CSSD, ENABLE); /*Enable CSS interrupt */
//CLK_ClockSecuritySystemEnable();
} |