STM32备份域使用示例

  /*系统初始化、配置串口等*/

  /* Enable PWR and BKP clocks */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

  SerialPutChar(BKP_ReadBackupRegister(BKP_DR9)+'0');
  PWR_BackupAccessCmd(ENABLE);                  /* Enable write access to Backup domain */
  if (BKP_ReadBackupRegister(BKP_DR9))
  {
    BKP_WriteBackupRegister(BKP_DR9,0);
    SerialPutChar(BKP_ReadBackupRegister(BKP_DR9)+'0');
  }
  else
  {
    BKP_WriteBackupRegister(BKP_DR9,1);
    SerialPutChar(BKP_ReadBackupRegister(BKP_DR9)+'0');
  }
  while(1);

执行结果:
首次复位后串口打印01,复位后打印10,每次复位会循环修改。

备份域操作流程:
1.首先, 需要设置RCC_APB1ENR寄存器的PWREN 和 BKPEN位来使能电源和备份域接口时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
2.然后,需要解除备份域的写保护
PWR_BackupAccessCmd(ENABLE);

1人评论了“STM32备份域使用示例”

发表评论

邮箱地址不会被公开。 必填项已用*标注