3、stm32的复位和时钟控制RCC

1、stm32的RCC基础知识讲解

bash 复制代码
1. 什么是 RCC?
	RCC = Reset and Clock Control(复位和时钟控制)
	它是 STM32 芯片内部的一个"管家",负责:
	复位:让芯片或外设回到初始状态
	时钟管理:给 CPU 和各种外设提供"心跳"(时钟信号),没有时钟,它们就不能工作
2. 为什么需要时钟?
	STM32 所有操作都靠时钟驱动(就像人的心跳)
	不同模块(如 CPU、USART、ADC)可能需要不同频率的时钟
	RCC 就是用来配置这些时钟源和频率的
3. 时钟源有哪些?
	STM32 有多个时钟来源,主要三类:
	HSI:内部高速时钟(8MHz,精度一般,上电就能用)
	HSE:外部高速时钟(接晶振,比如 8MHz,更稳定精准)
	PLL:锁相环,可以把 HSI 或 HSE 倍频成更高频率(比如 72MHz)
4. 系统时钟(SYSCLK)从哪来?
	SYSCLK 是 CPU 的主时钟
	可以选择来自 HSI、HSE 或 PLL
	最终通过 AHB 分频器送给 CPU(叫 HCLK)
5. 时钟树是什么?
	一张图,展示时钟怎么从源头(HSI/HSE/PLL)分配到各个模块
	包括:
	AHB 总线 → 高速外设(如内存、DMA)
	APB1/APB2 总线 → 低速外设(如 TIM、USART、ADC)
	每个总线可以独立分频(比如 SYSCLK=72MHz,APB1 可设为 36MHz)
6. 复位有哪几种?
	系统复位:重启整个芯片(如按下 RESET 键)
	电源复位:上电或掉电恢复时触发,影响除了备份域之外的区域
	备份域复位:只复位 RTC 和后备寄存器
	外设复位:单独复位某个外设(通过 RCC 寄存器控制)
7. HAL 库怎么配置时钟?
	通常用 STM32CubeMX 图形化工具生成初始化代码
	核心函数:SystemClock_Config()
	→ 里面调用 HAL_RCC_xxx 函数设置时钟源、PLL、分频等
	配置后,HAL 库会自动更新 SystemCoreClock 变量(代表当前 CPU 频率)

2、时钟树

bash 复制代码
在时钟树中,通过HSE->PLL->AHB总线->APB1/APB2这样进行时钟分配,当不需要某个总线时钟时关闭即可达到低功耗
在F103产品手册中,HCLK最大72MHZ,APB1最大36MHZ,APB2最大72MHZ
相关推荐
一个平凡而乐于分享的小比特16 分钟前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发
踏着七彩祥云的小丑1 小时前
嵌入式——认识电子元器件——微动开关系列
单片机·嵌入式硬件
调光IC-小雅1 小时前
解析FP62××系列限流保护机制:为何它是DC/DC芯片的安全底线
单片机·嵌入式硬件
天天爱吃肉82182 小时前
场地整车在环仿真测试系统及总线注入研究|新能源智驾研发硬核干货
大数据·人工智能·功能测试·嵌入式硬件·汽车
gihigo19982 小时前
MAX30102 + STM32 人体血氧饱和度(SpO₂)测量方案
stm32·单片机·嵌入式硬件
LCG元2 小时前
STM32实战:基于uC/OS-III的STM32移植与多任务应用
stm32·单片机·嵌入式硬件
今日待办3 小时前
【CEM5881-M11雷达模块】使用开发指南
stm32·雷达模块·cem5881-m11
iCxhust3 小时前
如何在汇编中修改CS:IP
汇编·单片机·嵌入式硬件·51单片机·微机原理
Chat_zhanggong3453 小时前
主推NT98336BG作用有哪些?
嵌入式硬件·算法
Deitymoon3 小时前
STM32——433M无线遥控灯
stm32·单片机·嵌入式硬件