STM32CubeMX HAL库 配置RTC时钟 BKP 备份寄存器(掉电保持)

首先硬件要确保有外部晶振以及纽扣电池(或其他电源)给VBAT脚供电

以上是CubeMX的配置

如果要读写BKP寄存器的数据,首先要先解除BKP寄存器的写保护,代码如下

    __HAL_RCC_PWR_CLK_ENABLE();//使能电源时钟 PWR
    HAL_PWR_EnableBkUpAccess();//取消备份区域写保护
    __HAL_RCC_RTC_ENABLE();//RTC 时钟使能

        if(HAL_RTCEx_BKUPRead(&hrtc,RTC_BKP_DR1)!=0x9193)
        {
                HAL_RTCEx_BKUPWrite(&hrtc,RTC_BKP_DR1,0x9193);
        }

查源码可知,BKP寄存器一共五个地址,分别是

#define RTC_BKP_DR0                        0x00000000u
#define RTC_BKP_DR1                        0x00000001u
#define RTC_BKP_DR2                        0x00000002u
#define RTC_BKP_DR3                        0x00000003u
#define RTC_BKP_DR4                        0x00000004u

每一个地址都可以存放一个32位数据,也可拆分为10个16位数据。如此可实现断电保存功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值