424 字
1 分钟
RCC(复位与时钟控制)
RCC(复位与时钟控制)
什么是 RCC?
RCC 是 STM32 内部负责复位和时钟的模块。
任何外设(GPIO、USART、定时器……)在使用前都必须先使能对应总线上的时钟,否则外设不会工作。
TIP时钟就像芯片的“心跳”,没有心跳的外设就是死的。
RCC 决定了心跳源,并控制心跳分发到各个部件。
RCC 的三大核心功能
- 系统时钟与总线时钟的生成
- 外设时钟的使能与关闭
- 系统复位与电源管理(部分)
时钟源
STM32F1 有四种主要时钟源:
| 时钟源 | 速度 | 来源 | 说明 |
|---|---|---|---|
| HSI | 8 MHz | 内部 RC 振荡器 | 出厂已校准,不够精准,但起振快 |
| HSE | 4 ~ 16 MHz | 外部晶振/陶瓷振荡器 | 精度高,系统常使用,需要配合外部电容 |
| LSI | ~40 kHz | 内部低功耗 RC | 供独立看门狗、自动唤醒使用 |
| LSE | 32.768 kHz | 外部低速晶振 | 为 RTC 提供精准时钟 |
![[时钟源示意图]]
时钟树(STM32F1 简化版)
![[Pasted image 20260520170501.png]]
- SYSCLK:系统时钟,72 MHz(典型值)
- AHB:总线时钟 HCLK,等于 SYSCLK 或分频(多数为 SYSCLK)
- APB1:低速外设总线,最大 36 MHz(定时器时钟可能是 PCLK1 的 2 倍)
- APB2:高速外设总线,最大 72 MHz
- PLL:锁相环,将 HSE/HSI 倍频,常用来生成 72 MHz
IMPORTANT配置时钟时必须先使能时钟源,再等待就绪,最后切换系统时钟。
常用库函数(标准外设库)
// 使能外设时钟 (APB2)RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);// 使能外设时钟 (APB1)RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐
