STM32_ BKP备份数据

发布者:leader4最新更新时间:2024-08-01 来源: elecfans关键字:STM32  BKP  备份数据 手机看文章 扫描二维码
随时随地手机看文章

今天讲解“STM32F103 BKP备份数据”,关于“BKP备份数据”这一块的知识不难,但还是需要注意几点。BKP顾名思义就是备份寄存器(见参考手册),主要用于备份数据使用的。

每天讲解的不仅仅是基础,而是重点,不起眼的重点,容易被人忽视的重点。关注微信公众号“EmbeddDeveloper”还有更多精彩等着你。今天提供并讲解的软件工程,基于前面的软件工程“TIM延时”修改而来。若有疑问,请关注微信公众号获取更多信息。


每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。

今天的软件工程下载地址(360云盘):

https://yunpan.cn/cP7FTUw4XCYNw访问密码 0ebe

STM32F10x的资料可以在我360云盘下载:

https://yunpan.cn/crBUdUGdYKam2访问密码 ca90

工程概要说明:第一次上电写入BKP一个数据0xA55A,第二次及以后MCU重新上电读取BKP数据就是0xA55A(只要中间没有修改过),软件工程是在每次上电之后,通过串口打印数据判断数据是否正确。

关于“STM32F103BKP备份数据”我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。

一、RCC时钟配置

该函数位于在bsp.c文件下面;

使能RCC时钟:RCC_APB1Periph_PWR 和RCC_APB1Periph_BKP (需要电源管理,故需要配置RCC_APB1Periph_PWR)。

二、添加标准库

软件工程需要把上面两个源文件添加到工程,因为调用了这两个源文件代码。

三、BKP读写

该函数位于在main.c文件下面;

这个函数本打算单独列一个文件的,但相对简单,就没有在单独创建(其实已经创建,在打包工程中有,只是没有添加到工程)。

四、今天的重点提示

A.BKP功能适合在MCU主电源经常掉电、上电,而且有重要数据需要临时保存的。

B.需要芯片引脚“VBAT”接上电源(电池),否则数据也会丢失。

C.20字节数据后备寄存器(中容量和小容量产品),或84字节数据后备寄存器(大容量和互联型产品).

下载方式:长按网站 ->选择复制 ->打开

或者复制网站在电脑上下载也可。


关键字:STM32  BKP  备份数据 引用地址:STM32_ BKP备份数据

上一篇:STM32Cube LL库的巧妙之处
下一篇:STM32_ TIM输出PWM波形

推荐阅读最新更新时间:2026-03-06 19:42

STM32_BKP备份数据
今天提供并讲解的软件工程,基于前面的软件工程“TIM延时”修改而来。若有疑问,请关注微信公众号获取更多信息。 每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。 今天的软件工程下载地址(360云盘): https://yunpan.cn/cP7FTUw4XCYNw 访问密码 0ebe STM32F10x的资料可以在我360云盘下载: https://yunpan.cn/crBUdUGdYKam2 访问密码 ca90 工程概要说明:第一次上电写入BKP一个数据0xA55A,第二次及以后MCU重新上电读取BKP数据就是0xA55A(只要中间没有修改过),软件工程是在每次上电
[单片机]
STM32_<font color='red'>BKP</font><font color='red'>备份</font><font color='red'>数据</font>
stm32 利用备份寄存器保存实时时钟数据
在实际应用中,会出现许多复位或者掉电的情况,下面提供了一种方法使即使是在掉电和复位事件发生时,仍旧可以利用低功耗模式继续对于实时时钟进行供电,保证时钟的正常运行! //bsp_rtc.h #ifndef _BSP_RTC_H #define _BSP_RTC_H #include misc.h /*全局变量*/ uint8_t RTCInterruptFlag=0; //RTC 中断标志 uint32_t RTC_TimeNum=0; // 设置时间变量 uint16_t Year; uint8_t Month; uint8_t Day; /* RTC hardware init*/ void RTC_N
[单片机]
<font color='red'>stm32</font> 利用<font color='red'>备份</font>寄存器保存实时时钟<font color='red'>数据</font>
RTC时钟和BKP的配置stm32
RTC和后备寄存器通过一个开关供电,在VDD有效的时候选择VDD供电,否则选择VBAT引脚供电. 后备寄存器(10个16位的寄存器),可以用于在关闭VDD时,保存20个字节的用户应用数据(中容量和小容量产品,大容量和互联性产品有84字节). RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位. RTC的作用: 日历时钟功能; 闹钟中断; 阶段性中断; RTC时钟源: 外部晶体32.768kHz振荡器;内部低功耗RC振荡器; 高速的外部时钟经128分频. 复位后,对备份寄存器和RTC的访问被禁止,并且备份域被保护,以防止可能存在的意外的操作. 执行下面操作,可以是能对备份寄存器和RTC的访问: 打
[单片机]
RTC时钟和<font color='red'>BKP</font>的配置<font color='red'>stm32</font>
stm32备份寄存器(BKP)应用(侵入检测中断)
前言:很多的嵌入式设备使用过程中,当系统掉电时,往往需要把一些用户设置的参数保存起来,或者是将掉电前的一些状态信息保存,或者是统计系统重启次数。保存这些动态信息其实有很多种方法,第一种:在系统掉电前保存到片内flash,但是对flash的读写是按页操作,对于保存一些少量的数据来说并不合算。第二种:在系统掉电前保存在片外的EEPROM,可以根据需要选用合适的EEPROM存储的大小,但这样需要增加额外电路,增加成本。第三种:利用片内的备份寄存器里的后备数据寄存器存储。对于一些中、小型容量产品来说,有10个16位的数据后备寄存器。与前两种不同,它需要将引脚接上电池,否则数据会丢失。下面对备份寄存器深入了解。 1.备份寄存器的特性
[单片机]
<font color='red'>stm32</font>之<font color='red'>备份</font>寄存器(<font color='red'>BKP</font>)应用(侵入检测中断)
stm32 看门狗 BKP(HAL库)
(一)概述 stm32有两个看门狗:硬件看门狗(LSI 40KHz,时间精度不高)和窗口看门狗(APB1)。 (二)硬件看门狗实现代码 IWDG_HandleTypeDef hiwdg; // 硬件看门狗初始化 static void MX_IWDG_Init(IWDG_HandleTypeDef *pHiwdg) { pHiwdg- Instance = IWDG; pHiwdg- Init.Prescaler = IWDG_PRESCALER_4; pHiwdg- Init.Reload = 0xFFF; // Tout = ((4 * 2^prer) * rlr) / 40 = 409ms,看门狗
[单片机]
STM32BKP原理
1. BKP可以用来保存数据 BKP中包括了42个16位的寄存器,共可保存84字节的内容,它们由VBAT的供电来维挂。 2. BKP内保存的数据可以被毁灭(如果有人希望恶意得到这些数据的话,令其丢失比保护数据更重要)。STM32提供了一种称之为TAMPER的机制来完成。中文译为“侵入检测”,这需要占用一个外部引脚(PC13)。 3. 如果不用侵入检测功能,那么这个外部引脚可以用作RTC校准功能,这个稍后再研究。 4. 当有系统复位/电源复位/待机模式下被唤醒这三种情况时,BKP中的值不会丢失或被复位。 先回来研究一下STM32的复位机制。以下是数据手册的相关部分。 6.1 复位 ST
[单片机]
用于数据备份和保存之电源保持的快速入门指南
对于新式数字系统来说,在电源中断期间备份重要的数据是一项重要特性。在嵌入式系统依赖干净不间断电源的电信、工业和汽车应用中,数据丢失是引人关切的。供电的突然中断会导致正在对硬盘驱动器和闪存器进行读写操作时的数据受损。数据存储器广泛地采用在嵌入式系统中,以用于汽车维护、故障排除和维修工作。在复杂的工业金属加工设备中,在电源断接后必需存储多种工具的位置和状态,以防止在恢复供电时发生设备故障,这一点是极其重要。下面就随电源管理小编一起来了解一下相关内容吧。 传统上,备份电源设计师依赖于高电压电源的存在,以及升压型功率因数校正 (PFC) 电路的大容量电容。当采用这种传统方法时,在供电中断期间,350V 至 400V PFC 输出电压与极大
[电源管理]
22_BKP备份寄存器&RTC实时时钟
BKP简介 BKP基本结构 一个数据寄存器存2字节 RTC简介 选LSE的32.768kHZ的时钟频率,因为支持VBAT供电 RTC框图 RTC基本结构 硬件电路 供电方案 RTC操作注意事项 读写备份寄存器 接线图 代码 main.c #include stm32f10x.h // Device header #include Delay.h #include OLED.h int main(void) { OLED_Init(); RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE); RCC_A
[单片机]
22_<font color='red'>BKP</font><font color='red'>备份</font>寄存器&RTC实时时钟
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved