STM32F4_时钟系统精讲

文章详细介绍了STM32的时钟系统,包括LSI、LSE、HSI、HSE和PLLCLK等时钟源,以及它们在系统中的作用和配置。此外,还讨论了SysTick定时器的功能,作为操作系统心跳和中断源的角色,并提及其寄存器配置。最后,文章提及了IO引脚的复用和映射以及NVIC中断优先级的设置和管理。

目录

1. 什么是系统时钟

2. 时钟树

2.1 LSI

2.2 LSE

2.3 HSI 

2.4 HSE

2.5 PLLCLK

2.6 SYSCLK

2.7 HCLK

2.8 PCLK1

2.9 PCLK2

2.10 RTC/AWU

3 SysTick定时器

3.1 为什么会有Systick定时器?

3.2 SysTick定时器的作用 

3.3 SysTick定时器的寄存器

4. IO引脚复用和映射

5. NVIC中断优先级

5.1 中断寄存器

5.2 NVIC中断优先级设置函数

5.3 中断优先级设置步骤


        嵌入式入坑者,与君共勉,大家一起加油!

        💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习 

1. 什么是系统时钟

        时钟系统就像人的心脏一样,在单片机系统中起着脉搏的作用;时钟是由电路产生的具有周期性的脉冲信号,要想使用单片机的外设必须开启相应的时钟,也就是给时钟使能。我们知道,操作一个外设的本质是操作其对应的寄存器,而寄存器由D触发器构成,必须通过时钟才能改写触发器的值,所以想要操作外设必须使能相应的时钟;对于CPU来说,时钟的频率越高,其时钟值越小,这里可以理解时钟是一个信号的周期,时钟=1/f,频率越高,时钟越小,也就是单位时间内 CPU 能够做到更多的事,也就是我们常说的CPU运行快;

        STM32F4xx的时钟系统主要是给不同外设提供时钟,不同外设所需的时钟频率不同,如果像51单片机一样共用一个系统时钟,会造成资源浪费,给CPU运行带来负担,况且有些外设也接受不了这么大的频率;所以默认状态下,所有时钟是关闭的,操作哪个外设,就首先对哪个外设对应的时钟进行使能;

        STM32 共有5个时钟源:HSE(高速外部时钟)HSI(高速内部时钟)LSE(低速外部时钟)LSI(低速内部时钟)PLL(锁相环倍频输出)

2. 时钟树

按照从上到下,从左到右的顺序,我们依次来看时钟树的结构:使用任何外设之前一定要先使能对应的时钟,否则无法使用对应的外设;

        首先,LSI 低速内部时钟供到独立看门狗使用,32KHz,同时接到RTCSEL上,图中梯形形状代表着选择作用,也就是RTC可以选择LSE低速外部时钟使能,也可以选择LSI,在这里,通常选择LSE,因为LSE外接晶振,精度较高;LSE直接供RTC使用,LSE还可以经过1-5的分频后供MCO1使用;HSI 可以经过1-5 的分频后供 MCO1使用,HSI 也可以供给系统时钟 SYSCLK 选择使用,HSI 还可以通过分频后,在经过倍频,经过PLLP或者PLLQ后通过PLL输出;HSE通过1-5分频后可以供MCO2使用,HSE也可以供给系统时钟选择使用;PLL锁存倍频输出可以直接供外设使用;PLLI2S称为专用PLL;系统时钟可以是HSI、HSE、PLLCLK供应,其可以供应以太网PTP时钟;也可以通过AHB总线协议到AHB总线、内核、存储器和DMA,或者到Cortex系统定时器;

2.1 LSI

① LSI:low speed Internal Clock signal,低速内部(硬件焊接时不用外部加晶振,内部集成晶振 ag. CH340C)时钟。RC振荡器,频率32KHz左右。供看门狗(IWDG)和自动唤醒单元(AWU)使用。LSI RC更多的是担当一个低功耗时钟源的角色,可以在停机或者待机模式下保持运行。

使用:LSI RC是通过RCC时钟控制和状态寄存器RCC_CSR中的 LSION 位打开或关闭;RCC时钟控制和状态寄存器RCC_CSR中的 LSIDAY 标志指示低速内部振荡器是否稳定,硬件将此位置1,此时钟才可以使用;LSI RC更多的是担当一个低功耗时钟源的角色,可以在停机或者待机模式下保持运行。

 

 为独立看门狗或者RTC提供时钟;(上图)

 RCC时钟控制和状态寄存器RCC_CSR;(下图)

  

2.2 LSE

LSE:low Speed External Clock signal,低速外部(外部焊接时加上晶振和滤波电容)时钟。接32.768KHz的石英晶体,主要作为RTC的时钟源来提供时钟/日历或其他定时功能,具有功率低且精度高的优点。 其使用方法和 LSI 不尽相同。 

使用:LSE 晶振是通过RCC备份域控制寄存器RCC_BDCR中的 LSION 位打开或关闭;RCC备份域控制寄存器RCC_BDCR中的 LSEDAY 标志指示LSE晶振是否稳定,硬件将此位置1,此时钟才可以使用;如在RCC 时钟中断寄存器 (RCC_CIR) 中使能中断,则可产生中断。

 原理图上32.768MHz的外部晶振,直接接到芯片的引脚上。

主要作为RTC使能(上图);

RCC备份域控制寄存器RCC_BDCR(下图);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值