其他分享
首页 > 其他分享> > STM32F103的备份寄存器BKP

STM32F103的备份寄存器BKP

作者:互联网

STM32F103RBT6没有eeprom想要存一些数据怎么办?

1.可以加个外部EEPROM,

2.使用自带的备份寄存器,需要VBAT一直供电,加个小纽扣电池不是啥大问题。

下面是代码 

void Param_Read(void)
{
  uint16_t temp;
  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);//时钟使能
  PWR_BackupAccessCmd(ENABLE);//允许操作备份寄存器
  temp = BKP_ReadBackupRegister(BKP_DR1);//读第一个位置备份数据
  if (temp != 0x49E7)
  {
    Servo.Interval = 5;
    Motor.Gap = 1000;
    Param_Save();
    return;
  }
  Motor.Gap = BKP_ReadBackupRegister(BKP_DR2);
  Servo.Interval = BKP_ReadBackupRegister(BKP_DR3);
  BKP_ClearFlag();//清除复位标志,可自行补习这部分知识,此处不多叙述
  PWR_BackupAccessCmd(DISABLE);//操作完毕
}

  

使用并不麻烦

不同型号的备份容量也不一样STM32F103RBT6为16bit能存20字节,

人话就是能存10个16bit数据;那么地址就是BKP_DR1到BKP_DR10;其它大容量的型号能存更多。

 

搜索

复制

标签:STM32F103,temp,备份,能存,ReadBackupRegister,BKP,寄存器,RCC
来源: https://www.cnblogs.com/IdeaMing/p/16084607.html