1. 研究STM3的备份寄存器,注意,如果要测试这个例程的话,VBAT不能和VDD接一起,必须分开。

2. 理解,备份寄存器可以有VBAT独立供电,也就是外接电池,备份寄存器在VBAT供电情况下,如果发生系统复位(按键复位)和上电复位,备份寄存器的值可以保持。

3. 代码如下:

 1 int main(void)
 2 {
 3 #ifdef DEBUG
 4   debug();
 5 #endif
 6
 7   /* System Clocks Configuration */
 8   RCC_Configuration();
 9
10   /* NVIC configuration */
11   NVIC_Configuration();
12
13   /* GPIO configuration */
14   GPIO_Configuration();
15
16   /* Enable PWR and BKP clock */
17   RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
18
19   /* Enable write access to Backup domain */
20   PWR_BackupAccessCmd(ENABLE);
21
22   /* Clear Tamper pin Event(TE) pending flag */
23   BKP_ClearFlag();
24
25   //首先判断是不是上电复位的
26   if(RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
27   {
28     /* Clear reset flags */
29     RCC_ClearFlag();
30
31     /* Turn on led connected to GPIO_LED Pin8 */
32     GPIO_SetBits(GPIO_LED, GPIO_Pin_8);
33
34     /* Check if Backup data registers are programmed */
35     if(CheckBackupReg(0x3211) == 0x00)
36     { /* Backup data registers values are correct */
37
38       /* Turn on led connected to GPIO_LED Pin6 */
39       GPIO_SetBits(GPIO_LED, GPIO_Pin_6);
40     }
41     else
42     { /* Backup data registers values are not correct or they are not yet
43          programmed (when the first time the program is executed) */
44
45       /* Write data to Backup data registers */
46       WriteToBackupReg(0x3211);
47
48       /* Turn on led connected to GPIO_LED Pin7 */
49       GPIO_SetBits(GPIO_LED, GPIO_Pin_7);
50     }
51   }
52
53   /* Turn on led connected to GPIO_LED Pin9 */
54   GPIO_SetBits(GPIO_LED, GPIO_Pin_9);
55
56   while (1)
57   {
58   }
59 }

4. 测试,第一次上电,亮灯LED7,LED8,LED9,然后VDD断电重新上电,亮灯LED6,LED8,LED9,然后按复位按键,亮灯LED9(代码只检查是不是上电复位)

5. 程序比较简单,主要是备份寄存器的作用。

转载于:https://www.cnblogs.com/429512065qhq/p/8082717.html

STM32的备份寄存器测试相关推荐

  1. stm32之备份寄存器(BKP)应用(侵入检测中断)

    前言:很多的嵌入式设备使用过程中,当系统掉电时,往往需要把一些用户设置的参数保存起来,或者是将掉电前的一些状态信息保存,或者是统计系统重启次数.保存这些动态信息其实有很多种方法,第一种:在系统掉电前保 ...

  2. STM32 备份寄存器操作

    STM32系列为处理器都有备份寄存器,他它们处于备份区域里,当VDD电源被切断,它们仍然由VBAT维持供电,当系统在待机模式下被唤醒,或者系统复位或电源复位是,它们都不会被复位.以实时时钟RTC为例, ...

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

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

  4. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  5. 【STM32】HAL库-备份寄存器(BKP)

    简介 备份寄存器是42个16位的寄存器,可用来存储84个字节的用户应用程序数据. 他们处在备份域里,当VDD电源被切断,他们仍然由VBAT维持供电. 当系统在待机模式下被唤醒,或系统复位或电源复位时, ...

  6. stm32 hal库 rtc 备份 寄存器 备份sram 调试笔记

    rtc 是可以单独供电的,通常设计rtc是带有一个纽扣电池用来给rtc供电.本次是调试rtc 的备份寄存器和备份sram,这两个都是可以在rtc不断电情况下一直保存数据. 步骤 配置rtc参数,用cu ...

  7. oracle 还原dmp时_报错的值太大,基于oracle数据库的CLOUD备份恢复测试

    CLOUD oracle数据库备份恢复测试 强烈建议使用expdp/impdp,因为: 在expdp的时候Oracle不会再依赖和参考NLS_LANG的设置,而是完全按照数据库本身的字符集导出数据,i ...

  8. HDFS高级功能(防止用户的错误操作 备份 试验/测试 灾难恢复 配额 数据迁移)

    HDFS高级功能(防止用户的错误操作 备份 试验/测试 灾难恢复 配额 数据迁移) 介绍HDFS的高级功能: 回收站 快照snapshot(一种备份) 配额 安全模式 回收站 和我们Window系统上 ...

  9. PC微信聊天记录备份恢复测试

    PC微信聊天记录备份恢复测试 述:最近遇到一个同事电脑升级,电脑硬件(硬盘)都换了,出了一点问题,就是'微信聊天记录无法恢复',但是备份的文件已经复制到微信文件的默认保存位置了,测试开始. 测试微信版 ...

最新文章

  1. exchange 2010 指定用户邮箱连接CAS服务器
  2. 在账户确定类型KOFI没有找到总账科目
  3. [react] 为何说虚拟DOM会提高性能?
  4. 每天一道算法题(13)——使用递归颠倒栈
  5. python函数abs()
  6. [原创]markdown语法学习(commonmark)
  7. 3. react脚手架
  8. 约翰·冯·诺依曼及冯诺伊曼式计算机简介
  9. elasticsearch2.2之index映射参数的not_analyzed属性
  10. 在 Microsoft Visual Studio Team System 和 Microsoft Visual SourceSafe 之间选择
  11. 用了这个办法解决Discuz! Database Error报错
  12. gitee仓库迁移至gitlab仓库简单方法,保留提交记录
  13. Orserg WSPT WEB 安全项目组A-3项目训练文档
  14. 1096:数字统计(C C++)
  15. 路易斯安那州立大学计算机科学,路易斯安那州立大学
  16. Pycharm新建文件模板配置
  17. linux的systemctl命令介绍
  18. OSPF虚链接的基本配置
  19. 校园招聘的在线测评怎么回答?有什么标准?
  20. CMake安装或CMake Error at CMakeLists

热门文章

  1. Android现学现用第一天
  2. 技术人员转型是件痛苦的事情~
  3. step1 . day6 C语言基础练习之数组和字符串
  4. Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
  5. (转载)你好,C++(19)“老师,我这次四级考试过了没有?”——4.2 条件选择语句...
  6. 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
  7. Jmeter中JDBC链接配置 JDBC Connection Configuration
  8. mysql 查询优化 ~ explain与索引失效
  9. ORA-39083: + ORA-00439: 未启用功能
  10. 行情分发速度为王,谁是证券公司的生命线?