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供电。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>