STM32 时钟

stm32时钟

stm32时钟源选择

stm32时钟树图

注:STM32通常采用外部高速时钟源,频率为8MHZ,通过PLLXTPRE进行一分频,再通过PLLMUL选择9倍频得到最大频率72MHZ。

系统时钟配置

HAL库

1:配置HSE VALUE

告诉HAL库外部晶振频率,stm32xxxx_hal_conf.h

2:选择时钟源,配置PLL

通过HAL RCC OscConfig()函数设置

3:选择系统时钟源,配置总线分频器

通过HAL_RCC _ClockConfig()函数设置

程序代码

STD库

1:将RCC寄存器初始化,选择外部高速时钟

通过RCC_DeInit()函数来将RCC寄存器进行初始化

通过函数RCC_HSEConfig()来选择外部高速时钟

2:等待外部晶振起振

通过对函数RCC_WaitForHSEStartUp()的返回值来等待晶振起振

3:配置PPL

通过函数RCC_PLLConfig()来选择分频和倍频数

4:配置AHB时钟线,APB1,APB2时钟线

通过函数RCC_HCLKConfig()来配置AHB时钟线

通过函数RCC_PCLK1Config()来配置APB1时钟线

通过函数RCC_PCLK2Config()来配置APB2时钟线

5:使能PLL

通过函数RCC_PLLCm()来使能PLL

6:等待PLL就绪

通过对函数RCC_GetFlagStatus()的返回值来判断PLL是否就绪,如果未就绪就一直等待。

7:将PLL作为系统时钟

通过函数RCC_SYSCLKConfig()来将PLL作为时钟源。

8:等待PLL系统时钟开始工作

通过对函数RCC_GetSYSCLKSource()的返回值来判断PLL是否开始工作,如果未工作就一直等待。

程序代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值