STM32读写备份寄存器BKP

今天学习的读写STM32的备份寄存器BKP的步骤,这节知识是比较简单的,一共也就两大部:

这个BKP寄存器的意思就是在芯片的VB引脚上接个电池,就能保存其寄存器中的数据掉电不丢失。先来看看电池的接法:

好,下面介绍一下读写过程:

大体的步骤为:先初始化,然后写DR,再读DR
    第一步:开启PWR和BKP的时钟
    第二步:使用PWR的一个函数,使能对BKP和RTC的访问
            写入数据:BKP有个写入的函数
            读取数据:BKP也有个读取的函数

再来看看总体的程序,其实就只写了一个main函数,并没有封装新模块:

#include "stm32f10x.h"                  // Device header
#include "OLED.h"


int main(void)
{
	OLED_Init();       //oled  屏幕初始化
	
	/*
	大体的步骤为:先初始化,然后写DR,再读DR
	第一步:开启PWR和BKP的时钟
	第二步:使用PWR的一个函数,使能对BKP和RTC的访问
			写入数据:BKP有个写入的函数
			读取数据:BKP也有个读取的函数
	
	*/
	
	//第一步:开启PWR和BKP的时钟
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP, ENABLE);
	
	//第二步:使用PWR的一个函数,使能对BKP和RTC的访问
	PWR_BackupAccessCmd(ENABLE);
	
	    //写入数据:BKP有个写入的函数
	BKP_WriteBackupRegister(BKP_DR1, 0x1234);
	
	OLED_ShowHexNum(1,1, BKP_ReadBackupRegister(BKP_DR1), 4);
}

将其编译下载后就能显示这次的实验结果了:这个结果只要VB有电池供电,其他都断电,其DR中的数据也不会丢失。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 15:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 15:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 15:06:05       82 阅读
  4. Python语言-面向对象

    2024-04-26 15:06:05       91 阅读

热门阅读

  1. Reactjs数据篇

    2024-04-26 15:06:05       29 阅读
  2. ubuntu创建新用户,添加用户权限,删除用户

    2024-04-26 15:06:05       32 阅读
  3. 修改k8s kube-proxy转发为ipvs

    2024-04-26 15:06:05       126 阅读
  4. CLion的详细介绍

    2024-04-26 15:06:05       126 阅读
  5. 20240425-线程基础-线程的使用(一)

    2024-04-26 15:06:05       42 阅读
  6. 使用脚本定时备份MySql数据库文件

    2024-04-26 15:06:05       173 阅读
  7. 深入理解汇编中的ZF、OF、SF标志位和条件跳转

    2024-04-26 15:06:05       35 阅读
  8. 若依ruoyi-vue前端组件的使用指南

    2024-04-26 15:06:05       37 阅读
  9. c++17--iota

    2024-04-26 15:06:05       36 阅读