1. 概述
本文的内容相对简单点,主要介绍STM32 备份寄存器的读写和FLASH烧写过程。
2. 备份寄存器读写
STM32的引脚上有一个Vbat的引脚,如果在主电源掉电的情况下,有某些重要的数据需要保存,则在可以在这个引脚上外接一个电池。主电源掉电时,该电池的供电可以保持备份寄存器里面的数据不会丢失。这样,当系统再次上电唤醒时,备份寄存器中的数据又可以再次使用。
备份寄存器有一个重要的特性,就是STM32进行软件复位的时候,并不会复位备份寄存器中的数据。
由数据手册可以知道,STM32F1VET6总共有42个备份寄存器,共84个字节。
对备份寄存器操作也比较简单,首先需要使能PWR和BKP的时钟,然后再解锁备份寄存器的操作,最后再将数据写入或者读出相应的寄存器中。代码如下:
void BKPSRAM_WrHalfWord(uint16_t addr, uint16_t data)
{
if ((addr >= BKP_DR1) && (addr <= BKP_DR42)) {
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
PWR_BackupAccessCmd(ENABLE)

1万+

被折叠的 条评论
为什么被折叠?



