1. 首先 检查RTC电池是否装载,没电池的话,设备掉电也保存不了数据。
备份寄存器就是普通的RAM,需要配合外接电池使用,如果没有电池,就不能掉电保持数据。
因为是普通RAM,所以不存在写入次数的问题,理论上是无限次的。
其次在RCC_Configuration(); 中配置备份寄存器的如下:
/* Enable PWR(电源控制) and BKP clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
/* Enable write access to Backup domain */
PWR_BackupAccessCmd(ENABLE);
/* Clear Tamper pin Event(TE) pending flag */
BKP_ClearFlag();
2. 然后就可以开始读写功能了。
void WriteBKP(u16 Data,u8 DRNumber) // 还可加入一些加密算法;DRNumber (1-9)
{
switch(DRNumber)
{
case 0x01:
BKP_WriteBackupRegister(BKP_DR1,Data);
break;
case 0x02:
BKP_WriteBackupRegister(BKP_DR2,Data);
break;
case 0x03:
BKP_WriteBackupRegister(BKP_DR3,Data);
break;
case 0x04:
BKP_WriteBackupRegister(BKP_DR4,Data);
break;
case 0x05:
BKP_WriteBackupRegister(BKP_DR5,Data);
break;
case 0x06:
BKP_WriteBackupRegister(BKP_DR6,Data);
break;
case 0x07:
BKP_WriteBackupRegister(BKP_DR7,Data);
break;
case 0x08:
BKP_WriteBackupRegister(BKP_DR8,Data);
break;
case 0x09:
BKP_WriteBackupRegister(BKP_DR9,Data);
break;
case 0x10:
BKP_WriteBackupRegister(BKP_DR10,Data);
break;
default:
BKP_WriteBackupRegister(BKP_DR1,Data);
}
BKP_WriteBackupRegister(BKP_DR10,CHECK_CODE);
}
u8 CheckBKP(void)
{
if( BKP_ReadBackupRegister(BKP_DR1) == 0x89) // 如果此位数据丢失,则BPK数据丢失
return 1;
else
return 0;
}
3.调试总结:
可以在IAR或者keil的watch 中查看值是否写入,输入BKP_DR1,可以查看BKP_DR1中的数据是否写入正确,其他的备份寄存器类似操作。
另外在程序中有RTC程序的话,要注意配置顺序,因为RTC也对备份寄存器操作。我就是程序中有RTC程序,所以写入的数据老是被清零(RTC程序会初始化备份寄存器中的数据),浪费了点时间才找到原因所在。
上一篇:STM32---系统滴答定时器(systick)应用
下一篇:STM32 看门狗学习笔记
推荐阅读最新更新时间:2024-11-12 11:53
设计资源 培训 开发板 精华推荐
- 使用 Semtech 的 SC1628 的参考设计
- LT8495EUF 750kHz、16V 至 32V 输入、48V 输出、0.5A 升压转换器的典型应用电路
- DC2574A-KIT,使用 LTC2947 独立 ±30A 电源/能量监视器和 LCD 的演示板,(DC2334) + Linduino (DC2026) + LCD 键盘屏蔽
- 使用 ON Semiconductor 的 CS52845 的参考设计
- CN0216
- USB电压电流表 STM32+INA226
- L7885C大电流稳压器的典型应用
- 带CANC8T6 727
- 具有延时启动功能的 LT1185CT 低压差稳压器的典型应用电路
- AD7265 12 位、3 通道 SAR ADC,采用 AD8022 高速运算放大器,采用差分和单端配置
- ADI 体外化学分析仪解决方案
- 线下研讨会|MATLAB助力人工智能与电子产品的开发
- 看咱坛友自己的研讨会~ST-EEWORLD线下网友见面会实录
- 再见2019,你好2020!写下你的年终总结和新年计划
- 报名赢【挂灯、浴巾】等好礼|TI MSPM0家用电器和电机控制应用详解
- 已结束|Maxim IO-Link通信协议设计方案详解,5大优势助你轻松联网!
- 学视频,晒WEBENCH® 设计方案,免费获得TI样片!
- 瑞萨电子 RL78/G11 目标板免费申请中,参与申请也能赢好礼
- EEWorld邀你来拆解(第五期):拆拆排插学评电路
- 邀您观看 微信直播:户外照明智能互连解决方案 让TE连接光明与智能未来