打印
[STM8]

STM8时钟切换的问题

[复制链接]
1434|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2014-5-14 19:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在使用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
,求教.
沙发
tianli1980| | 2014-6-3 17:08 | 只看该作者
不管是HSI,HSE,LSI,使用前一定要确定clock已经稳定,
比如系统要用HSI,要用:
while( !CLK_GetFlagStatus(CLK_FLAG_HSIRDY)){}
去判断HSI是不是已经ready,
同理,在switch clock之前要侦测要选择的clock是不是ready,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝