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
相关推荐
捷瑞电子工坊12 分钟前
嵌入式蓝桥杯从零点亮第一个LED
stm32·蓝桥杯·cubemx·嵌入式·led·ll·锁存
louis.D.26 分钟前
Git 本地单线速查
单片机
小李不想当小白1 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
新晨单片机设计1 小时前
S004R-基于STM32单片机智能门禁系统(密码、指纹、人脸、刷卡、蓝牙)【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus
至为芯1 小时前
PY32F071至为芯支持32位ARM内核的高主频MCU单片机
单片机·集成电路·芯片
桀人2 小时前
MCU系统架构——总线——统一编址
stm32·单片机·嵌入式硬件
可乐鸡翅好好吃2 小时前
通讯协议--硬件模拟和软件模拟
stm32·嵌入式硬件
Zw-awa2 小时前
STM32F103C8T6 最小系统板:从型号差异到启动方式
stm32
新思维软件3 小时前
基于边缘计算与多模态感知的服药依从性系统|X604261
嵌入式硬件·物联网开发
朝发如雪11 小时前
快速掌握单片机基础(3)(PWM)(通信协议基础)(串口通信时序与参数)(电气特性与电平标准)(51单片机UART寄存器配置)(串口应用层协议)
单片机