STM32的备份寄存器和控制状态寄存器

1 备份寄存器用于RTC时钟

RTC时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份寄存器掉电以后也可以保持。

if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)   //检测备份区域寄存器的值

{

RTC_Configuration();    //配置RTC

Time_Adjust();             //调整时间,将UNIX时间设入RTC计数值

BKP_WriteBackupRegister(BKP_DR1, 0xA5A5);      //给BKP_DR1写入0xA5A5

}

else

{                                     //不需要重新配置了,直接等待RTC同步完成

/* Wait for RTC registers synchronization */

RTC_WaitForSynchro();

RTC_ITConfig(RTC_IT_SEC, ENABLE);   //配置RTC中断

/* Wait until last write operation on RTC registers has finished */

RTC_WaitForLastTask();

}

2 控制状态寄存器用于检测系统复位

大而复杂的系统,为了防止程序跑飞,采用开启看门狗,若程序飞掉以后,可以重新复位,然后让系统重新运行。

if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)

{         //如果是独立看门狗复位

/* Clear reset flags */

RCC_ClearFlag();         //清除复位标志

… … …  //此时需要记录复位的时间、原因等信息

… … …

}

转载于:https://www.cnblogs.com/fozu/p/3541915.html

STM32的备份寄存器和控制状态寄存器相关推荐

  1. STM32 之七 备份域(备份寄存器、备份SRAM)详解及数据丢失问题处理

    某些STM32芯片提供了备份SRAM,例如STM32F系列芯片有4K的备份SRAM.然而在使用过程中发现备份区域数据丢失!下面从STM32系列芯片提供的整个备份域来看看啥情况. 电池备份域   首先, ...

  2. 10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据

    10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据.

  3. STM32学习手记5 BKP后备寄存器、RTC和中断

    STM32的后备寄存器: STM32共有42个16位后备寄存器,可以用来存储84个字节的用户数据.而所谓的后备寄存器,并不是真正的EEPROM.当VDD电源被切断,VBAT仍然保持供电,后备寄存器的内 ...

  4. STM32——RTC实时时钟原理+BKP寄存器原理

    一.RTC实时时钟特征与原理 1.RTC(Real Time Clock):实时时钟 2.RTC是个独立的BCD定时器/计数器.RTC提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性 ...

  5. STM32滴答时钟[直接用寄存器]

    生活中,我们通过看表来知道当前时间,知道我们在这个点应该做什么事情,那么芯片呢,就通过各种定时器来记录时间,滴答时钟就是定时器的一种,它可以用来做操作系统的节拍(心跳),可以用来计时,可以用来做闹钟, ...

  6. STM32的GPIO的七个寄存器的配置说明

    STM32的GPIO的七个寄存器的配置说明 每组GPIO口都配置有七个寄存器, 端口配置低寄存器GPIOx_CRL 端口配置高寄存器(GPIOx_CRH) 端口输入数据寄存器(GPIOx_IDR) 端 ...

  7. STM32定时器的预装寄存器及影子寄存器PSC—ARR-CCRx

    在谈预装寄存器及影子寄存器的差别前,不妨先对STM32定时器的时基单元做个基本了解.STM32各系列的定时器结构和框架基本是一样的,时基单元也一样. 下面时基单元是以STM32F3系列为参考. 时基单 ...

  8. STM32入门-区别ORD,BSRR,BRR寄存器

    (转本文的目的是想说明配置GPIO的值如果用ODR寄存器,就会有读改写的过程,不利于任务间同步,即要考虑线程安全问题.如果BSRR可以直接设置某位,比ODR快) 基础知识 ORD,BSRR,BRR寄存 ...

  9. 【STM32】使用BRR与BSRR寄存器控制GPIO输出

    使用BRR与BSRR寄存器控制GPIO输出 对比使用ODR寄存器与BRR寄存器+BSRR寄存器 - BRR与BSRR: Init: RCC->APB2ENR |= 1 << 5;GP ...

  10. stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR

    1.先了解io口 32的io口可以由软件配置寄存器为8种模式: 1.输入浮空 5.开漏输出 2.输入上拉 6.推挽输出 3.输入下拉 7.推挽式复用功能 4.模拟输入 8.开漏复用功能 单io口寄存器 ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——前言
  2. memcached部署
  3. spring cloud的eureka.client.service-url.defaultZone配置eureka集群的写法
  4. 普通IO流字符输入输出流文件拷贝
  5. 资深程序员的书单 - 转载自@Axb
  6. 数字信号处理--7.3--基础篇
  7. java getselecteditem_java – 为什么JComboBox上的getSelectedItem()不是通用的?
  8. 数字信号处理_实验一_信号、系统及系统响应
  9. Cameralink视频数据信号
  10. 按摩椅控制板的开发让按摩椅变得简约智能
  11. 由南非世界杯想到IDC
  12. 转:__stack_chk_fail栈检查失败
  13. WEB前端 VS 后端,学哪个就业前景更好
  14. 实现网页购物车功能,完成基本的商品价格计算等功能
  15. Android画三角形
  16. DM368+MT7601U通过wifi可以正常出图
  17. 成功解决Unable to allocate xxx MiB for an array with shape (xxxx, xxxx)
  18. qpython爬虫_python爬虫教程:批量抓取 QQ 群信息
  19. 计算机文件打开方式这么还原,dat文件还原默认打开方式如何设置?还原默认打开方式的详细步骤...
  20. matplotlib之plot()详解

热门文章

  1. PAT 1031 查验身份证
  2. js关于两个字符串的加减乘除运算
  3. 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 F题 Overlapping Rectangles(线段树)
  4. 按下回车键自动切换焦点到下个控件
  5. adb shell 命令详解
  6. Windows基本的数据类型
  7. C#中的Boolean类型
  8. 非常使用的mongodb的聚合函数(使用SpringDataMongoDb)
  9. linux文件系统简析
  10. 10.程序员的自我修养---内存