STM32单片机:外设时钟(STM32L4xx)

通过前面的文章我们知道:HSE,HSI16,MSI,PLLCLK这几个时钟源可以作为系统主时钟,如下图:

STM32L4xx系列单片机有3个外设时钟:**AHB-HCLK,APB1-PCLK1,APB2-PCLK2,**这些时钟为绝大多数的片上外设提供时钟源。

这几个时钟的层级结构如下:


SYSCLK ===> / RCC_CFGR.HPRE[3:0] ===>【AHB-HCLK】

系统时钟SYSCLK 通过寄存器RCC_CFGRHPRE[3:0] 定义分频系数分频生成外设时钟**AHB-HCLK,**其分频系数为:1, 2, 4, 8, 16, 64, 128, 256, 512


AHB-HCLK ===> / RCC_CFGR.PPRE2[2:0] ===> APB2-PCLK2

时钟AHB-HCLK 通过寄存器RCC_CFGRPPRE2[2:0] 定义分频系数分频生成外设时钟**APB2-PCLK2,**其分频系数为:1, 2, 4, 8, 16


AHB-HCLK ===> / RCC_CFGR.PPRE1[2:0] ===> APB1-PCLK1

时钟AHB-HCLK 通过寄存器RCC_CFGRPPRE1[2:0] 定义分频系数分频生成外设时钟**APB1-PCLK1,**其分频系数为:1, 2, 4, 8, 16


芯片内的大部分外设的时钟均由以上3个时钟来提供,具体哪个外设对应哪个时钟,可以查阅芯片手册,比如:

在这个表格里可以找到某外设的时钟来自哪个时钟源,然后在以下几个寄存器中找到对应的外设时钟使能位,将其置位后,对应的外设时钟信号被使能。

AHB-HCLK作为时钟源的外设时钟使能控制:

**RCC_AHB1ENR:**AHB1 外设时钟使能寄存器

**RCC_AHB2ENR:**AHB2 外设时钟使能寄存器

**RCC_AHB3ENR:**AHB3 外设时钟使能寄存器

APB1-PCLK1作为时钟源的外设时钟使能控制:

RCC_APB1ENR1:APB1 外设时钟使能寄存器 1

RCC_APB1ENR2:APB1 外设时钟使能寄存器 2

APB2-PCLK2作为时钟源的外设时钟使能控制:

RCC_APB2ENR: APB2 外设时钟使能寄存器


比如上图中红框部分的定时器TIM2,如果要使能TIM2的时钟,由图中信息可知TIM2由APB1-PCLK1来提供时钟,所以找到寄存器RCC_APB1ENR1的说明:

RCC_APB1ENR1.TIM2EN 置位即可使能TIM2的时钟:

RCC_APB1ENR1 |= RCC_APB1ENR1_TIM2EN;

相关推荐
BackCatK Chen1 小时前
STM32+FreeRTOS:嵌入式开发的黄金搭档,未来十年就靠它了!
stm32·单片机·嵌入式硬件·freertos·低功耗·rtdbs·工业控制
全栈游侠4 小时前
STM32F103XX 02-电源与备份寄存器
stm32·单片机·嵌入式硬件
Lsir10110_4 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
深圳市九鼎创展科技6 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计6 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
風清掦7 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
小龙报7 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业7 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能7 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn8 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件