STM32的这个知识,你必须了解
Stm32单片机为了提高容错率以及应对突发状况的能力,专门开辟了一块数据存储区域,我们称之为备份域。如图1。https://pic2.zhimg.com/80/v2-5fc327d1e160e4932c6fa1626d5b9ca5_1440w.jpg图1 STM32 的备份域备份空间的大小因单片机容量的不同而有所不同,中、小容量单片机的备份域包含10个16位的寄存器;大容量及互联型单片机的备份域包含42个16位的寄存器。他们被统一称为备份数据寄存器。如图2。
https://pic3.zhimg.com/80/v2-1d4afe14d01371a95c66a3ae0f95f6c6_1440w.jpg图2 不同容量单片机的备份寄存器数量备份域有其自己的电源电路,我们通常用一颗电子来给它供电,备份域中的数据不会因为系统复位、电源复位、待机唤醒而丢失,这就解决了单片机意外断电而数据丢失的问题,这也是备份域存在的意义。如图3。
https://pic2.zhimg.com/80/v2-f2b4dd5e3671a9dc0b6e8b5b3b2d2749_1440w.jpg图3 备份域相对独立于系统那么,如何访问备份寄存器呢?通过设置APB1外设时钟使能寄存器(RCC_APB1ENR)的电源使能位(PWREN)、后备域使能位(BKPEN)来打开后备电源和后备接口的时钟,也就是VBAT和32.768KHz的时钟。通过电源控制寄存器(PWR_CR)的后备域写保护位(DBP),来使能对后备寄存器和实时时钟的访问。如图4、5。
https://pic4.zhimg.com/80/v2-8ef2e6cbbd83e9a12fcfade58766a467_1440w.jpg图4 APB1外设时钟使能寄存器https://pic3.zhimg.com/80/v2-b661b1d7885ed8c90df957042854974e_1440w.jpg图5 电源控制寄存器那么,如何清除后备寄存器的数据内容呢?当单片机的侵入检测引脚(TAMPER-RTC)也就是PC13引脚发生高、低电频的翻转时,就会产生一个侵入检测事件,这个事件就会导致所有备份寄存器的内容清零,也可以通过备份域控制寄存器(RCC_BDCR)中的第16位(BDRST)来复位,另外,给备份电池断后再重新上电也可以强制清除所有备份数据寄存器的内容。如图6、7、8。
https://pic4.zhimg.com/80/v2-9e73eac638f99ce487b8194efd2efcc3_1440w.jpg图6 侵入检测引脚复位https://pic4.zhimg.com/80/v2-2cde7f9d62c95e87e97c077028663737_1440w.jpg图7 备份域控制寄存器https://pic4.zhimg.com/80/v2-eca34f5625761d618b42202da2248f67_1440w.jpg图8 备份电池 1111111
页:
[1]
2
