STM32的备份寄存器和控制状态寄存器
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(); //清除复位标志
… … … //此时需要记录复位的时间、原因等信息
… … …
}
STM32的备份寄存器和控制状态寄存器的更多相关文章
- STM32定时器的预装载寄存器与影子寄存器之间的关系【转】
首先转载: STM32定时器的预装载寄存器与影子寄存器之间的关系 本文的说明依据STM32参考手册(RM0008)第10版:英文:http://www.st.com/stonline/produc ...
- IA32寄存器与x86-64寄存器的区别
IA32寄存器 一个IA32CPU包含一组8个存储32位值的通用寄存器,这些寄存器用来存储整数数据和指针: 31-0 15-0 15-8 7-0 使用惯例 %eax %ax %ah %al 调用者保存 ...
- EFLAGS寄存器(标志寄存器)
这篇文章不是从0开始的,前面还有一些汇编基础指令以及进制,我都没写,时间问题,还是今天空闲,我才想补一下博文,后面我陆续会把前面知识点渐渐补上.我不会重0基础讲起,中间会以.汇编.C.C++交叉的形式 ...
- Cortex-M3 R0~R15寄存器组 & 特殊功能寄存器组
[R0~R15寄存器组] Cortex-M3处理器拥有R0~R15的寄存器组,如: [R0~R12通用寄存器]R0~R12都是32位通用寄存器,用于数据操作.其中: R0~R7为低组寄存器,所有的指令 ...
- STM32的备份寄存器测试
1. 研究STM3的备份寄存器,注意,如果要测试这个例程的话,VBAT不能和VDD接一起,必须分开. 2. 理解,备份寄存器可以有VBAT独立供电,也就是外接电池,备份寄存器在VBAT供电情况下,如果 ...
- STM32——GPIO之从库函数到寄存器的前因后果
例子为单片机的"Hello World"级的流水灯实验--虽然只有一个,其中并不是将完整的代码给出,只是给出关键部分来说明"如何调用ST公司的的库来完成对硬件的控制,以及 ...
- 汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)
1.MSR和MRS指令介绍 MRS 指令: 对状态寄存器CPSR和SPSR进行读操作.通过读CPSR可以获得当前处理器的工作状态.读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有 ...
- CS 寄存器 和 IP 寄存器
下面将要介绍的是一组非常非常重要的寄存器,即 CS:IP . CS:IP 两个寄存器指示了 CPU 当前将要读取的指令的地址,其中 CS 为代码段寄存器,而 IP 为指令指针寄存器 . 什么叫做 ...
- arduino 中通过寄存器地址访问寄存器内容
void call_func( void (*func)(void)){ (*func)(); } void setup() { // put your setup code here, to run ...
随机推荐
- unity3d之相机跟随人物
一.第三人称视角 _1 先设置好相机与玩家之间的角度 给相机添加代码 using UnityEngine; using System.Collections; namespace CompletePr ...
- hibernate下Session的获取方式
Session是应用程序与数据库之间的一个会话,其重要性不言而喻.初学Hibernate,使用SessionFactory,老老实实地打开事务,提交,回滚,关闭session. 1.直接通过Sessi ...
- 小任务之使用SVG画柱状图~
function drawBar(data) { var barGraph = document.querySelector("#bar-graph"); var graphWid ...
- 复活hexo静态博客的方法
我的个人博客http://webhmy.com/是通过hexo搭建的,它支持图片显示,支持md,无需主机空间,可以满足我的大部分需求.但是在2年的使用的过程中遇到一些问题,这里记录下来.便于下次快速复 ...
- 制作Makefile中 ** missing separator 错误解决
非常简单就是根据提示,在这一行的前面摁Tab键 错误如上图所示:
- restful知识点之二restframework视图
restful协议理解:面向资源开发 restful协议 ---- 一切皆是资源,操作只是请求方式 ----book表增删改查 /books/ books /books/add/ addbook /b ...
- PHP discuz模板语法
Discuz! X 模板的解析主要是 ./source/class/class_template.php 文件解析处理的,如果需要深入了解请可以看看这个文件! 模板嵌套语法 将被嵌套模板内容解析为 P ...
- Linux ->> Ubuntu 14.04 LTE下配置SSH免密码登录
首先用apt-get命令安装SSH jerry@ubuntu:~$ sudo apt-get install ssh [sudo] password for jerry: Reading packag ...
- MongoDB学习笔记——概述
概述 MongoDB是一个跨平台,面向文档的数据库.MongoDB创建的数据库可以实现高可用性,高性能,并且能够轻松拓展. MongodbDB的运行方式主要给予两个概念:集合(collection)和 ...
- java.langThrowable:STACKTRACE
Jboss版本是4.2.0.GA代码运行完后总报错 但是程序的运行结果没问题 请问下这是什么原因2009-12-11 01:53:26,611 INFO [org.jboss.resource.co ...