STM32读写备份寄存器BKP

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

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

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

大体的步骤为:先初始化,然后写DR,再读DR

第一步:开启PWR和BKP的时钟

第二步:使用PWR的一个函数,使能对BKP和RTC的访问

写入数据:BKP有个写入的函数

读取数据:BKP也有个读取的函数

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

cs 复制代码
#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中的数据也不会丢失。

相关推荐
就是蠢啊2 分钟前
51单片机——串口通信(二)
嵌入式硬件·mongodb·51单片机
stars-he3 分钟前
单片机转换电路学习笔记
笔记·单片机·学习
挽天java10 分钟前
Arduino/EIDE/Platform IO/Linux/MRS/Keil/STM32Cubemx配置
linux·运维·stm32
DIY机器人工房11 分钟前
(十二)嵌入式面试题收集:15道
单片机·嵌入式硬件·diy机器人工房
LS_learner15 分钟前
PCB更新原理图变更出现大量Remove问题
嵌入式硬件
仰望星空的凡人27 分钟前
基于RH850-F1x系列的瑞萨MCU选型指南
单片机·嵌入式硬件·rh850·renesas
卡提西亚41 分钟前
(10)普中A2 51单片机DS1302实时时钟
单片机·嵌入式硬件·51单片机
@good_good_study43 分钟前
STM32 TIM通道捕获配置函数及实验
stm32·单片机
TeleostNaCl1 小时前
Docker | 如何限制容器的 CPU/内存/磁盘IO 的资源利用以降低性能消耗
运维·经验分享·嵌入式硬件·docker·容器·智能路由器
偶像你挑的噻10 小时前
15-Linux驱动开发-PWM子系统
linux·驱动开发·stm32·嵌入式硬件