STM32-1-STM32时钟系统

发布者:AdventureSeeker最新更新时间:2024-10-16 来源: cnblogs关键字:STM32  时钟系统  软件配置 手机看文章 扫描二维码
随时随地手机看文章

在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。

③LSI是低速内部时钟,RC振荡器,频率为40kHz。
④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法
如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:
1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
2)对于少于100脚的产品,有2种接法:
   2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。
   2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出并输出'0'。此方法可以减小功耗并(相对上面2.1)节省2个外部电阻。

使用HSE时钟,程序设置时钟参数流程:
1、将RCC寄存器重新设置为默认值        RCC_DeInit;
2、打开外部高速时钟晶振HSE            RCC_HSEConfig(RCC_HSE_ON);
3、等待外部高速时钟晶振工作           HSEStartUpStatus = RCC_WaitForHSEStartUp();
4、设置AHB时钟                        RCC_HCLKConfig;
5、设置高速AHB时钟                    RCC_PCLK2Config;
6、设置低速速AHB时钟                  RCC_PCLK1Config;
7、设置PLL                            RCC_PLLConfig;
8、打开PLL                            RCC_PLLCmd(ENABLE);
9、等待PLL工作                        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) 
10、设置系统时钟                      RCC_SYSCLKConfig;
11、判断是否PLL是系统时钟             while(RCC_GetSYSCLKSource() != 0x08)
12、打开要使用的外设时钟              RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd()


RCC 有多种用途,包括时钟设置,外设复位和时钟管理。 
 
RCC 寄存器结构描述了固件函数库所使用的数据结构,Section 15.2  固件库函数介绍了函数库里的所有函数。 
15.1 RCC寄存器结构 
RCC 寄存器结构,RCC_TypeDeff,在文件“stm32f10x_map.h”中定义如下: 
typedef struct 

    vu32 CR; 
    vu32 CFGR; 
    vu32 CIR; 
    vu32 APB2RSTR; 
    vu32 APB1RSTR; 
    vu32 AHBENR; 
    vu32 APB2ENR; 
    vu32 APB1ENR; 
    vu32 BDCR; 
    vu32 CSR; 
} RCC_TypeDef; 
 
寄存器  描述 
CR                                   时钟控制寄存器 
CFGR                               时钟配置寄存器 
CIR                                  时钟中断寄存器 
APB2RSTR  APB2              外设复位寄存器 
APB1RSTR  APB1              外设复位寄存器 
AHBENR  AHB                   外设时钟使能寄存器 
APB2ENR  APB2                外设时钟使能寄存器 
APB1ENR  APB1                外设时钟使能寄存器 
BDCR                               备份域控制寄存器 
CSR                                  控制/状态寄存器 

15.2 RCC库函数 

关键字:STM32  时钟系统  软件配置 引用地址:STM32-1-STM32时钟系统

上一篇:STM32-2-GPIO
下一篇:STM32数据类型的定义

推荐阅读最新更新时间:2026-03-23 01:07

STM32的SPI接口、cubeMX软件配置SPI接口和分析SPI相关代码
本文主要介绍STM32的SPI接口、cubeMX软件配置SPI接口和分析SPI相关代码。 STM32之SPI简介: SPI协议【Serial Peripheral Interface】 串行外围设备接口,是一种高速全双工的通信总线。主要用在MCU与FLASHADCLCD等模块之间的通信。 SPI信号线 SPI 共包含 4 条总线。 SS(Slave Select):片选信号线,当有多个SPI 设备与 MCU 相连时,每个设备的这个片选信号线是与 MCU 单独的引脚相连的,而其他的 SCK、MOSI、MISO 线则为多个设备并联到相同的 SPI 总线上,低电平有效。 SCK (Serial Clock):时钟信号线,由主通信设备
[单片机]
<font color='red'>STM32</font>的SPI接口、cubeMX<font color='red'>软件</font><font color='red'>配置</font>SPI接口和分析SPI相关代码
STM32】1—零基础硬件软件配置 & 完成LED的闪烁
1 基础准备 1.1 硬件准备 首先,我们需要用四根杜邦线完成开发板与下载器的连接。 连接方式:DAPLINK上的3V3、SWD、SCK、GND,分别通过杜邦线与开发板上的VCC、SWDIO、SWCLK、GND相连。 对于驱动问题,若是使用Win10、Win11系统,则无需安装驱动,即插即用。在数据线插上电脑USB接口后,可从电脑设备管理器找到。 1.2 软件准备 打开STM32CubeMX,打开MCU SELECTOR,搜索并选中芯片STM32F407VET6: 时钟源配置(时钟树配置参看文章开头的两篇博客): GPIO引脚配置: ① 初始化输出电
[单片机]
【<font color='red'>STM32</font>】1—零基础硬件<font color='red'>软件</font><font color='red'>配置</font> & 完成LED的闪烁
STM32系统时钟
一、时钟树 STM32有4个时钟源: 1)HSE(高速外部时钟源)  外部晶振作为时钟源,范围为4~16MHz,常取为8MHz 2)HSI(高速内部时钟源)  由内部RC振荡器产生,频率为8MHz,但不稳定 3)LSE(低速外部时钟)   以外部晶振作为时钟源,主要供给实时时钟模块,一般用32.768KHz。 4)LSI(低速内部时钟) 由内部RC振荡器产生,也是提供给实时时钟模块,频率约为40KHz。 二、系统启动过程中时钟设置过程   以使用STM32库函数SystemInit为例进行说明: 上电后:默认使用HSI SystemInit: 倘若调用了函数SetSysClockTo72,将启用外部晶振HSE,并将系
[单片机]
<font color='red'>STM32</font><font color='red'>系统</font><font color='red'>时钟</font>
STM32时钟系统之利用 systick 定时器来实现准确的延时
  本篇文章带着大家来认识一下 STM32 的时钟系统,以及利用 systick 定时器来实现一个比较准确的延时。   我们首先从时钟说起,时钟在MCU中的作用,就好比于人类的心脏一样不可或缺。STM32 的时钟相比 51 的单一时钟要复杂些,它有多个时钟源可以使用,那么大家可能会有所疑惑,STM32 的时钟搞的那么复杂干什么,原因其实在于,STM32的外设资源比起51来说,是很丰富的,那么不同外设使用的时钟也会不一样,同时我们要知道时钟越快,功耗就越大,抗电磁干扰的能力就会减弱,因此,比较复杂的MCU 都会采用多时钟来解决这些问题。   那么,这个时钟系统究竟是什么呢??   这里给大家简单总结了下:STM32 共有 5个时钟源
[单片机]
<font color='red'>STM32</font><font color='red'>时钟</font><font color='red'>系统</font>之利用 systick 定时器来实现准确的延时
STM32单片机学习五 时钟系统
  本篇将记录 stm32的时钟系统。   1、STM32时钟介绍   下面这幅图时stm32的时钟系统框图   1)蓝底框表示 时钟源,即:   ①HSI是高速内部时钟,RC振荡器,频率为8MHz。   ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。   ③LSI是低速内部时钟,RC振荡器,频率为40kHz。(WDG看门狗 使用该时钟源)   ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。(RTC实时时钟 使用该时钟源)   ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72M
[单片机]
<font color='red'>STM32</font>单片机学习五 <font color='red'>时钟</font><font color='red'>系统</font>
stm32系统架构及其时钟系统
1 系统组成 八个单元----4主动,4被动,主动或被动单元与总线矩阵有关。 2 时钟信号处理模式 3 时钟设计 3.1 时钟源分类 3.1.1RC时钟 RC时钟其特点是精度低,但体积小,因此经常被单片机作为内置时钟 3.1.2 OSC时钟 osc时钟与RC正好相反,即更高的精度与更大的体积,在需要高精度时钟信号的场景中作为外接时钟接入 4 选择器开关 4.1 作用 他的作用为选择时钟信号由它来绝定何种时钟信号可以通过,下图中用绿线标出 4.2分频器 4.2.1预分频器 预分频器对时钟信号进行预分频 4.2.2倍频器 5 控制器(与门)
[单片机]
STM32时钟系统介绍与总结
时钟树: 1. HSI振荡器时钟 The HSI clock signal is generated from an internal 8 MHz RC Oscillator and can be used directly as a system clock or divided by 2 to be used as PLL input. The HSI RC oscillator has the advantage of providing a clock source at low cost (no external components). It also has a faster startup time than
[单片机]
1、STM32学习笔记——系统时钟初始化函数
STM32有三种不同的时钟源可被用来驱动系统时钟(SYSCLK): 1:HSI振荡器时钟(内部时钟) 2:HSE振荡器时钟 (外部时钟,即晶振所提供) 3:PLL时钟(锁相环时钟) 这些设备有以下2种二级时钟源: (1)40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。 (2)32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。 当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。 1:常用配置如下 使用HSE作为PLL的输入源,将PLL的输出配置为72MHZ,然后将PLL作为系统时钟,最后将其他时钟配置为
[单片机]
1、<font color='red'>STM32</font>学习笔记——<font color='red'>系统</font><font color='red'>时钟</font>初始化函数
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved