关于stm32固件库中rcc的一个疑问

[复制链接]
3133|6
 楼主| yffinger 发表于 2011-3-16 21:51 | 显示全部楼层 |阅读模式
在固件库的stm32f10x_rcc.c中,函数void RCC_HSEConfig(uint32_t RCC_HSE)里面有这样一段:
    case RCC_HSE_Bypass:
      /* Set HSEBYP and HSEON bits */
      RCC->CR |= CR_HSEBYP_Set | CR_HSEON_Set;
      break;
请问为什么这里还需要 CR_HSEON_Set 呢?振荡器不是被旁路了吗?
airwill 发表于 2011-3-16 22:03 | 显示全部楼层
我也看了一下, 发现似乎并不必要. 猜想这么设定是因为考虑留着 HSE 以便于下次又恢复 HSE 的时候, 能够快速的切换过去.
mcuisp 发表于 2011-3-16 22:05 | 显示全部楼层
嗯,HSE启动通常很慢的。
 楼主| yffinger 发表于 2011-3-16 22:11 | 显示全部楼层
但是在这个函数的开头有:
  RCC->CR &= CR_HSEON_Reset;
  /* Reset HSEBYP bit */
也就是每次设置之前都是先把HSE关掉的
所以貌似留着HSE也不能起到下一次快速切换的作用
mcuisp 发表于 2011-3-16 22:52 | 显示全部楼层
噢,那真就是纯bug了。
香水城 发表于 2011-3-17 18:16 | 显示全部楼层
:lol无伤大雅,
hsbjb 发表于 2011-3-18 11:16 | 显示全部楼层
应该影响不大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部