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中的数据也不会丢失。

相关推荐
时空自由民.3 小时前
蓝牙协议栈介绍
linux·网络·单片机
蓝天居士3 小时前
M24C64芯片资料与程序代码(2)
嵌入式硬件·芯片资料
吃米饭5 小时前
HC32L021C8UB 移植 FreeRTOS
stm32·嵌入式·freertos·rtos
asjodnobfy5 小时前
开关电源尖峰电压计算
嵌入式硬件·硬件工程
振南的单片机世界5 小时前
开漏输出:只能拉低,不能拉高,高电平靠“外部”帮忙
stm32·单片机·嵌入式硬件
FFF团团员9097 小时前
CCS快速使用4(tim,pwm)
单片机·嵌入式硬件
某先森不吃鱼7 小时前
工程日志——离轴编码器矫正与磁场串扰解决
嵌入式硬件
黑白园8 小时前
STM32 通过I2C 读写EEPR0M AT24C02
stm32·单片机·嵌入式硬件
ACP广源盛139246256738 小时前
ASW3742@ACP# 产品规格详解
网络·人工智能·嵌入式硬件·计算机外设·电脑
llilian_168 小时前
晶体频率测试仪 破解晶振品控核心难题:晶体频率网络测试仪深度解析 晶体网络分析仪
网络·功能测试·单片机·嵌入式硬件·测试工具·51单片机