初级会员

- 积分
- 147
- 金钱
- 147
- 注册时间
- 2018-11-28
- 在线时间
- 37 小时
|
使用stm32f407的备份域出现异常,BKP电源由纽扣电池供电。
出现的问题具体是“当设备断电时,BKP无法正常使用”。具体代码如下:
uint8_t vbkpsam_init(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//使能PWR时钟
PWR_BackupAccessCmd(ENABLE); // set PWR->CR.dbp = 1;
PWR_BackupRegulatorCmd(ENABLE); // set PWR->CSR.bre = 1;
/* 应用程序必须等待备份调压器就绪标志 (BRR) 置 1,指示在待机模式和 VBAT 模式下会保持写入 RAM 中的数据。 */
while(PWR_GetFlagStatus(PWR_FLAG_BRR) == RESET);
//是否第一次配置?
if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0x5050)
{
/* code */
// 设备每次断电之后都会进入这里
RTC_WriteBackupRegister(RTC_BKP_DR0,0x5050); //标记已经初始化过了
return 2;
}
return 0;
}
|
|