XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


复位以及时钟控制

目录

复位以及时钟控制(RCC)

复位

有三种复位

  • 系统复位: 将复位除了时钟控制寄存器CSR中的复位标志和备份区域以内的寄存器以外的所有寄存器
  • 电源复位: 复位除了备份区域以外的所有寄存器
  • 后备域复位: 备份区有两个专门的复位, 只影响备份区域

当以下事件中的一件发生时,产生一个系统复位: 1. NRST引脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWDG复位) 3. 独立看门狗计数终止(IWDG复位) 4. 软件复位(SW复位) 5. 低功耗管理复位

通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源

image-20231005124719368

当以下事件中之一发生时,产生电源复位: 1. 上电/掉电复位(POR/PDR复位) 2. 从待机模式中返回

当以下事件中之一发生时,产生备份区域复位。 79/754 1. 软件复位,备份区域复位可由设置备份域控制寄存器(RCC_BDCR)(见7.3.9节)中的 BDRST位产生。 2. 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

  • 备份域BKP

备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据。他们处在备份域 里,当VDD电源被切断,他们仍然由VBAT维持供电。用户可以在这一部分区域保存自己的数据

开发板上的电池对着一部分进行供电

RCC时钟

时钟是芯片的心跳, STM32有很多种时钟的来源, HSI高速内部时钟, HSE高速外部时钟, PLL, 锁相环倍频时钟, 还有一些二级时钟, 内部低速时钟LSI, LSE外部低速时钟32.768KHz(主要用于RTC)

使用不同的频率的时钟, 消耗的能量更高

image-20231005130041906

使用CubeMX可以进行时钟的设置

使用CubeMX进行配置

image-20231005130748391在这里配置时钟源image-20231005130849556

外部的高速时钟通常是外部的晶振或者用户的输入

image-20231005190711212

选择之后就可以使用时钟配置进行操作了

image-20231005190821626

不设置的话默认使用的是HSI, 8MHz, 这里可以手动设置, 或者在系统时钟输入对应的数字自动生成

image-20231005191126994

在数据手册中有各个时钟所对应的最高频率的时钟

互联型的芯片的某一些时钟并不是从系统时钟获取时钟的, 需要单独考虑

使用F4以及H7系列的芯片的时候可以通过配置提高最高的时钟频率, 但是会增加芯片的耗能