STM32F103的备份寄存器BKP

2022/3/31 23:19:27

本文主要是介绍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的备份寄存器BKP的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程