STM32F4之备份存储

       这段时间一直在用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)中的参数分别是写入数据的存储寄存器,以及写入的内容

        文章很简短,但如果发现有错误或写的不合理的地方还请大佬斧正,如果觉得有用还请点个赞!!!谢谢!!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值