[STM32F4] STM32F4之备份存储

[复制链接]
1576|11
 楼主| tpgf 发表于 2024-7-18 14:34 | 显示全部楼层 |阅读模式
这段时间一直在用STM32开发板做项目开发,需要将数据存储在备份SRAM中,待系统重启后可以直接调用先前的数据。在这里将自己的开发过程做个记录和总结。

       这里的代码不是很多,原理也不是很难,可以结合STM32F4开发板的《库函数开发指南》这个资料中RTC实验进行学习。具体的代码如下:

#ifndef _BACKUP_H
#define _BACKUP_H
#include "sys.h"

#define BACKUP_ENABLE  0

u8 Backup_Init(void);

#endif

#include "instruction.h"



u8 Backup_Init(){
               
        RTC_InitTypeDef  RTC_InitStructure;

       
#if BACKUP_ENABLE
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟
        PWR_BackupAccessCmd(ENABLE);        //使能后备寄存器访问
//       
#else
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, DISABLE);//失能PWR时钟
        PWR_BackupAccessCmd(DISABLE);        //失能后备寄存器访问
       
#endif
       
        return 0;

}

//RTC_ReadBackupRegister(RTC_BKP_DR0) //向备份SRAM中读取数据,可以直接调用

//RTC_WriteBackupRegister(RTC_BKP_DR0,0x5050);        //向备份SRAM中写入数据,可以直接调用

        整个备份SRAM存储的代码就这么多,第一部分为头文件,没有太多东西,这里就不做过多解释了。第二部分为程序的实现部分:

        首先程序中.h文件中包含了#include <backup.h>,#include <instruction.h>是包含我整个工程的所有头文件的集合,这里大家可以不用管。

        其次是u8 Backup_Init()的实现部分,程序中已经做了详细的注释,这里也就不多解释了。

        最后,整个程序实现部分最重要的是被注释掉的最后两行,这里的两行分别是向备份SRAM中读取数据和向备份SRAM中写入数据,两段代码可以直接调用。其中:RTC_ReadBackupRegister(RTC_BKP_DR0)中的参数RTC_BKP_DR0是被读取的存储数据的寄存器。RTC_WriteBackupRegister(RTC_BKP_DR0,0x5050)中的参数分别是写入数据的存储寄存器,以及写入的内容。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40506939/article/details/135054078

kzlzqi 发表于 2024-7-29 15:30 | 显示全部楼层
使用STM32开发板进行数据存储时,备份SRAM(Backup SRAM)是一个非常有用的特性,可以在系统重启后保留重要的数据
范德萨发额 发表于 2024-7-29 15:40 | 显示全部楼层
在实际项目中,需要在适当的地方调用备份初始化函数,并使用读写函数进行数据存储和读取。
申小林一号 发表于 2024-7-29 22:41 | 显示全部楼层
感谢分享
纠结的那些年 发表于 2024-7-31 11:58 | 显示全部楼层
备份 SRAM 是 STM32 微控制器中的一块特殊内存,它在 MCU 断电时也能保持数据(如有备用电源)。这使得备份 SRAM 可以用于保存重要数据,以便在系统重启后恢复。
纠结的那些年 发表于 2024-7-31 11:59 | 显示全部楼层
在 STM32 中,RTC 不仅用于时间和日期的计时,还可以用来读写备份寄存器。备份寄存器可以用于存储一些状态数据,例如是否需要进行数据恢复等。
AdaMaYun 发表于 2024-7-31 12:49 | 显示全部楼层
将数据存储在备份SRAM中,待系统重启后可以直接调用先前的数据
kqh11a 发表于 2024-8-28 12:20 | 显示全部楼层
在 STM32F4 系列中,RTC 用于管理备份 SRAM 的功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2384

主题

17636

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部