请教一个关于STM8时钟切换的问题
在使用STM8S-DISCOVERY进行时钟切换时,切换HSI至HSE OK;但由HSI切换至LSI 失败,目前仍不清楚原因。
两种切换的代码如下:
/* Switch current clock to external high speed clock */
while(CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,
CLK_SOURCE_HSE,
DISABLE,
CLK_CURRENTCLOCKSTATE_DISABLE) == ERROR);
经调试,结果OK.
/* Switch current clock to inner low speed clock */
CLK_LSICmd(ENABLE);
while(CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,
CLK_SOURCE_LSI,
DISABLE,
CLK_CURRENTCLOCKSTATE_DISABLE) == ERROR);
调试结果不成功,上电复位后时钟一直处于复位时钟模式(HSI/8),不能切换至LSI。
请教各位大侠,先谢谢了!
RE:请教一个关于STM8时钟切换的问题
不管是HSI,HSE,LSI,使用前一定要确定clock已经稳定,比如系统要用HSI,要用:
while( !CLK_GetFlagStatus(CLK_FLAG_HSIRDY)){}
去判断HSI是不是已经ready,
同理,在switch clock之前要侦测要选择的clock是不是ready,
页:
[1]