STM32-RCC内部总线时钟设置程序详讲

文章目录

  • RCC介绍
  • 回顾时钟复位和电源管理文章
  • 时钟树详解
  • rcc程序详解以及涉及到的固件库函数


杨桃32学习笔记,本文图片文字皆为转述

RCC介绍

RCC时钟复位和设置功能的缩写,它可以设置单片机的时钟输入源,以及cpu和
内部总线的时钟频率。在我们之前学过的程序内开头都有rcc的设置程序,接下
来就讲解rcc设置函数的内容从而结束stm32核心板的内容。

STM32-RCC内部总线时钟设置程序详讲_第1张图片
STM32-RCC内部总线时钟设置程序详讲_第2张图片

回顾时钟复位和电源管理文章

STM32-RCC内部总线时钟设置程序详讲_第3张图片
内部时钟都是RC,外部时钟都是晶体,高速都是提供系统时钟。
STM32-RCC内部总线时钟设置程序详讲_第4张图片
8MHZ的高速内部时钟的通过多路选择器和倍频器达到不同频率的时钟提供给不同的外设流程图。
STM32-RCC内部总线时钟设置程序详讲_第5张图片
STM32-RCC内部总线时钟设置程序详讲_第6张图片
STM32-RCC内部总线时钟设置程序详讲_第7张图片

时钟树详解

STM32-RCC内部总线时钟设置程序详讲_第8张图片
STM32-RCC内部总线时钟设置程序详讲_第9张图片

rcc程序详解以及涉及到的固件库函数

STM32-RCC内部总线时钟设置程序详讲_第10张图片
STM32-RCC内部总线时钟设置程序详讲_第11张图片
由于具体设计函数较多不一一列出请大家在之前的文章中找出固件库用户手册进行查看理解。继续看if语句中的第一个语句选择的就是绿色:第三条路线。需要注意区别pll选择器和sw选择器的区别。
STM32-RCC内部总线时钟设置程序详讲_第12张图片
STM32-RCC内部总线时钟设置程序详讲_第13张图片
STM32-RCC内部总线时钟设置程序详讲_第14张图片
第二条语句是设置AHB时钟,因为AHB时钟是其他总线的前端,之后的总线频率都是由AHB分频而来,除了USB所需的时钟频率由图可以看出是通过直接分频后直接过来。
STM32-RCC内部总线时钟设置程序详讲_第15张图片
STM32-RCC内部总线时钟设置程序详讲_第16张图片
STM32-RCC内部总线时钟设置程序详讲_第17张图片
第三四条语句是设置AHB1和AHB2总线时钟,他们也可以设置分频系数,如图所示:
STM32-RCC内部总线时钟设置程序详讲_第18张图片
这里设置APB1二分频,APB2不分频。
STM32-RCC内部总线时钟设置程序详讲_第19张图片
接下来是内部flash的相关设置,因为内部主频和相关功能的分频不同,flash读写速度也受到一定影响,所以对flash按照相应的评率来设置这里我们的系统主频是72Mhz所以按下图选择。
还有flash的预期缓存模式就是把要读取的数据提前从flash当中读出来到sram当中,当执行语句的时候SRAM中已经有了读取好了的数据。如果没有开启,就需要在命令执行时从flash读取从而拖慢系统运行速度。
STM32-RCC内部总线时钟设置程序详讲_第20张图片
此时我们已经配置好了频率,秉着先配置在使用的原则,接下来将选择器打开。
STM32-RCC内部总线时钟设置程序详讲_第21张图片
STM32-RCC内部总线时钟设置程序详讲_第22张图片
至此单片机的主频时钟源三大 内部总线的分频都已经设置好了,接下来单片机的内部功能就可以使用设置好的时钟了,但是在接下来的程序当中把这行时钟的开启函数都屏蔽掉了,是因为我们当时用到时再去开启例如led初始化程序中,这样的好处就是在不使用相关功能的时候就不会加载相关功能的.c文件也就不会开启相关时钟的rtc设置。
STM32-RCC内部总线时钟设置程序详讲_第23张图片
STM32-RCC内部总线时钟设置程序详讲_第24张图片
STM32核心板内容完结,继续更新扩展板视频内容。

你可能感兴趣的:(stm32)