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

相关推荐
广州灵眸科技有限公司6 小时前
瑞芯微(EASY EAI)RV1126B CAN使用
linux·网络·单片机·嵌入式硬件
SmartRadio6 小时前
CH584M vs nRF52840 vs 主流BLE SoC全面对比
单片机·嵌入式硬件·mcu·物联网·开源·硬件工程
Joshua-a12 小时前
电压信号 vs. 电流信号
单片机·嵌入式硬件
youcans_12 小时前
【STM32-MBD】(12)Simulink 模型开发之ADC
stm32·单片机·嵌入式硬件·simulink·mbd
brave and determined12 小时前
传感器学习(day19):ToF传感技术:从测距到三维视觉革命
嵌入式硬件·学习·嵌入式系统·st·tof·嵌入式设计·flightsense
llilian_1613 小时前
时间基准的行业赋能者——北斗卫星授时同步统一设备应用解析 时统 授时同步设备
服务器·网络·单片机
优信电子13 小时前
ESP32-S3开发环境搭建(arduino版本)
单片机·物联网·arduino
躺着要饭14 小时前
AD20 Components没有了,空了
嵌入式硬件
一路往蓝-Anbo15 小时前
C语言从句柄到对象 (一) —— 全局变量的噩梦与“多实例”的救赎
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网
松涛和鸣15 小时前
DAY42 SQLite3 : Dictionary Import and Data Query Implementation with C Language
linux·c语言·数据库·单片机·网络协议·sqlite