我使用的是STM8S207R8+STVD+ST Link,上电时选择的是外部16M晶体
void CLK_Configuration(void)
{
ErrorStatus status = ERROR;
CLK_DeInit();
CLK_HSECmd(ENABLE);
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
CLK_ClockSwitchCmd(ENABLE);
status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE,
CLK_CURRENTCLOCKSTATE_DISABLE);
CLK_ITConfig(CLK_IT_CSSD, ENABLE);
CLK_ClockSecuritySystemEnable();
}
因为要省电,工作60秒后进入Auto Wakeup模式
AWU_Cmd(ENABLE);
AWU_Init(AWU_TIMEBASE_512MS);
当下了halt后,外部晶体停振,系统启用了内部的HSI/8 = 2MHz,后来唤醒退出AWU模式后,系统就一直
使用2MHz的频率,不能自动切换到外部16M,而且就算了重下
CLK_HSECmd(ENABLE);
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
也不行,甚至重CALL CLK_Configuration();还是一样,再也不能切换到外部晶体,请大家帮忙分析,谢谢!
|