STM32F103固件库编程(3)—STM32的生命线(时钟树)

STM32F103固件库编程(3)—STM32的生命线(时钟树)

在这里插入图片描述 复位和时钟控制(RCC)地址:0x4002 1000 - 0x4002 13FF

微控制器允许输出时钟信号到外部MCO引脚(SYSCLK、HSE、HSI、除2的PLL时钟)

(一)系统时钟(SYSCLK):(三个来源)

在这里插入图片描述

1.HSE时钟

高速外部时钟信号

2.HSI时钟

HSI时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为PLL输入。
当HSI被用于作为PLL时钟的输入时,系统时钟能得到的大频率是64MHz。(因为8M经过2分频之后是4M,PLL最大的倍数X16,最后得到64MHz)

3.PLL时钟

PLL的设置(选择HIS振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子)必须在其被激 活前完成。一旦PLL被激活,这些参数就不能被改动

时钟安全系统(CSS)

(二)寄存器

1.时钟控制寄存器(RCC_CR)

在这里插入图片描述

2.时钟配置寄存器(RCC_CFGR) 在这里插入图片描述

  1. 位26:24
    MCO: 微控制器时钟输出 (Microcontroller clock output) ——(不是很懂)
    0xx:没有时钟输出;
    100:系统时钟(SYSCLK)输出;
    101:内部RC振荡器时钟(HSI)输出;
    110:外部振荡器时钟(HSE)输出;
    111:PLL时钟2分频后输出。

  2. 位21:18
    PLLMUL:PLL倍频系数 (PLL multiplication factor)

  3. 位17
    PLLXTPRE:HSE分频器作为PLL输入 (HSE divider for PLL entry)
    由软件置’1’或清’0’来分频HSE后作为PLL输入时钟。只能在关闭PLL时才能写入此位。
    0:HSE不分频
    1:HSE 2分频

  4. 位16
    由软件置’1’或清’0’来选择PLL输入时钟源。只能在关闭PLL时才能写入此位。
    0:HSI振荡器时钟经2分频后作为PLL输入时钟
    1:HSE时钟作为PLL输入时钟

  5. 位 3:2
    SWS[1:0]:系统时钟切换状态 (System clock switch status)
    00:HSI作为系统时钟;
    01:HSE作为系统时钟;
    10:PLL输出作为系统时钟;
    11:不可用

  6. 位1:0
    SW[1:0]:系统时钟切换 (System clock switch)
    在从停止或待机模式中返回时或直接或间接作为系统时钟的HSE出现故障时,由硬件强制选择 HSI作为系统时钟(如果时钟安全系统已经启动)

3.时钟中断寄存器 (RCC_CIR) 在这里插入图片描述

这个分组,0:4—8:12—16:20这三组是对应的
0:4 就绪中断标志 ,位只能读(r)
8:12 就绪中断使能 ,位可读可写(rw)
16:20 清除PLL就绪中断 ,位只能写(w),0无作用,1清除

4.APB2 外设复位寄存器 (RCC_APB2RSTR)

在这里插入图片描述0无作用,1复位

5.APB1 外设复位寄存器 (RCC_APB1RSTR)

在这里插入图片描述

6.AHB外设时钟使能寄存器 (RCC_AHBENR)

在这里插入图片描述

7.APB2 外设时钟使能寄存器(RCC_APB2ENR)

在这里插入图片描述

8.APB1 外设时钟使能寄存器(RCC_APB1ENR)

偏移地址:0x1C
复位值:0x0000 0000
访问:字、半字和字节访问
在这里插入图片描述

9.备份域控制寄存器 (RCC_BDCR)

在这里插入图片描述

10.控制/状态寄存器 (RCC_CSR)

在这里插入图片描述

(三)RCC寄存器地址映像

在这里插入图片描述
在这里插入图片描述
具体可以查手册,有的直接可以看英文缩写就知道有什么用处。时钟树的图非常重要,看懂可以事半功倍。

发布了35 篇原创文章 · 获赞 4 · 访问量 4025

猜你喜欢

转载自blog.csdn.net/qq_42589654/article/details/104117934