26、STM32 的时钟

参考文章 :http://blog.csdn.net/kevinhg/article/details/17517117关于 STM32 的时钟, 一共有 5 个时钟源 : HSI、HSE、LSI、LSE、PLL1、 HSI :高速内部时钟, RC 振荡器, 频率为 8MHz2、 HSE :高速外部时钟, 可接石英/陶瓷谐振器, 或者接外部时钟源, 频率范围4~16M3、 L
摘要由CSDN通过智能技术生成

参考文章 :http://blog.csdn.net/kevinhg/article/details/17517117


关于 STM32 的时钟, 一共有 5 个时钟源 : HSI、HSE、LSI、LSE、PLL

1、 HSI :高速内部时钟, RC 振荡器, 频率为 8MHz

2、 HSE :高速外部时钟, 可接石英/陶瓷谐振器, 或者接外部时钟源, 频率范围4~16M

3、 LSI :低速内部时钟, RC 振荡器, 频率为 40KHz

4、 LSE :低速外部时钟, 接 32.768KHz 的石英晶体

5、 PLL :锁相环倍频输出, 时钟输入源可选择为HSI/2、HSE 或者 HSE/2。倍频范围 2~16 倍。对于 

         Cortex-M3 系列, 频率最大频率输出不能超过 72MHz


二、在 STM32 上如果不使用外部晶振,OSC_IN 和 OSC_OUT 的接法 :

如果使用内部 RC 振荡器而不使用外部晶振,请按照下面方法处理 :

① 对于 100 脚或 144 脚的产品, OSC_IN 应接地, OSC_OUT 应悬空。

② 对于少于 100 脚的产品, 有 2 种接法 :

第 1 种 :OSC_IN 和 OSC_OUT 分别通过 10K 电阻接地。此方法可提高 EMC 性能;

第 2 种 :分别重映射 OSC_IN 和 OSC_OUT 至 PD0 和 PD1, 再配置 PD0 和 PD1 为推

         挽输出并输出 '0'。此方法可以减小功耗并(相对上面)节省 2 个外部电阻。

 

三、用 HSE 时钟, 程序设置时钟参数流程
01、将 RCC 寄存器重新设置为默认值  RCC_DeInit;
02、打开外部高速时钟晶振 HSE      RCC_HSEConfig(RCC_HSE_ON);
03、等待外部高速时钟晶振工作      
HSEStartUpStatus = RCC_WaitForHSEStartUp();

04、设置 AHB 时钟          RCC_HCLKConfig;

05、设置高速 AHB 时钟       RCC_PCLK2Config;
06、设置低速速 AHB 时钟     RCC_PCLK1Config;
07、设置 PLL              RCC_PLLConfig;
08、打开 PLL               RCC_PLLCmd(ENABLE);
09、等待 PLL 工作    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
10、设置系统时钟    RCC_SYSCLKConfig;
11、判断是否 PLL 是系统时钟  while(RCC_GetSYSCLKSource() != 0x08)
12、打开要使用的外设时钟    


四、下面是 STM32 软件固件库的程序中对 RCC 的配置函数(使用外部 8MHz 晶振)

/****************************************************************

* Function Name  : RCC_Configuration 

* Descript

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值