BKP后备寄存器掉电丢数据,谁能告诉原因

2019-07-20 11:00发布

void RTC_Configuration(void)
{
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);

}
int main(void)
{

  USART_Configuration();
   RTC_Configuration();
   while(1)
   {
             
             
          

               
                       
                         if(flag5==1)
                         {
       
                         znt1 = BKP_ReadBackupRegister(BKP_DR1);
                        znt2 = BKP_ReadBackupRegister(BKP_DR2);
                       
                         znt3 = BKP_ReadBackupRegister(BKP_DR3);
                          znt4 = BKP_ReadBackupRegister(BKP_DR4);
                         znt5 = BKP_ReadBackupRegister(BKP_DR5);
                          flag5=0;
                  }
                    
       
                        PWR_BackupAccessCmd(ENABLE);
                                 BKP_ClearFlag();

                 BKP_WriteBackupRegister(BKP_DR1, znt1);
                               
                 BKP_WriteBackupRegister(BKP_DR2, znt2);
                                  
                BKP_WriteBackupRegister(BKP_DR3, znt3);
                                  
                BKP_WriteBackupRegister(BKP_DR4, znt4);
                               
                BKP_WriteBackupRegister(BKP_DR5, znt5);
          
                  printf("当前 znt2=%d ",znt2);
                  delay_ms(1000);
                   znt2++;
    }

}


以上是我的BKP配置程序,复位能保持znt2数据不变,但是一旦掉电,znt2数据就复位变成0了。VBAT电压正常,3.3V供电。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。