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

相关推荐
飞凌嵌入式9 小时前
【玩转多核异构】T153核心板RISC-V核的实时性应用解析
linux·嵌入式硬件·嵌入式·risc-v
怎么就重名了9 小时前
STM32+蓝牙模块+超声波模块+QT
stm32·嵌入式硬件·qt
oshan201210 小时前
小华HC32L136K8TA 单片机新建 MDK5 工程模板(二)
单片机·嵌入式硬件
11 小时前
独立看门狗(IWDG)
stm32·iwdg独立看门
三品吉他手会点灯11 小时前
STM32F103学习笔记-16-RCC(第4节)-使用 HSI 配置系统时钟并用 MCO 监控系统时钟
笔记·stm32·单片机·嵌入式硬件·学习
Lester_110112 小时前
嵌入式学习笔记 - 关于看门狗定时器的喂狗的操作放在中断还是放在主循环
笔记·单片机·学习
bai54593612 小时前
LED闪烁功能代码详解
单片机·嵌入式硬件
吃货界的硬件攻城狮15 小时前
【STM32】低功耗模式下的IO配置详解(标准库实现)
stm32·单片机·嵌入式硬件
DIY机器人工房15 小时前
嵌入式面试题:物联网协议怎么选?Zigbee/蓝牙/LoRa/4G/WiFi优缺点一文读懂
stm32·嵌入式硬件·嵌入式·diy机器人工房·嵌入式面试题
ivy1598683771516 小时前
JM20329是一款高性能、低功耗的USB桥接芯片,实现串行接口(如SATA、IDE)与USB接口之间的数据转换。
c语言·开发语言·ide·嵌入式硬件·eureka·音视频·视频编解码