历史上的今天
今天是:2025年06月14日(星期六)
2019年06月14日 | STM32F10xxx支持三种复位
2019-06-14 来源:eefocus
STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。
一、系统复位
除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器(见图4)以外,系统
复位将复位所有寄存器至它们的复位状态。
当发生以下任一事件时,产生一个系统复位:
1. NRST引脚上的低电平(外部复位)
2. 窗口看门狗计数终止(WWDG复位)
3. 独立看门狗计数终止(IWDG复位)
4. 软件复位(SW复位)
5. 低功耗管理复位
可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源。
软件复位
通过将Cortex™-M3中断应用和复位控制寄存器中的SYSRESETREQ位置’1’,可实现软件复位。请参考Cortex™-M3技术参考手册获得进一步信息。
低功耗管理复位
在以下两种情况下可产生低功耗管理复位:
1. 在进入待机模式时产生低功耗管理复位:
通过将用户选择字节中的nRST_STDBY位置’1’将使能该复位。这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式。
2. 在进入停止模式时产生低功耗管理复位:
通过将用户选择字节中的nRST_STOP位置’1’将使能该复位。这时,即使执行了进入停机模式的过程,系统将被复位而不是进入停机模式。
关于用户选择字节的进一步信息,请参考STM32F10xxx闪存编程手册。
二、电源复位
当以下事件中之一发生时,产生电源复位:
1. 上电/掉电复位(POR/PDR复位)
2. 从待机模式中返回
电源复位将复位除了备份区域外的所有寄存器。(见图1)
图中复位源将最终作用于RESET引脚,并在复位过程中保持低电平。复位入口矢量被固定在地址0x0000_0004。更多细节,参阅图2:其它STM32F10xxx产品(小容量、中容量和大容量)的向量表。
芯片内部的复位信号会在NRST引脚上输出,脉冲发生器保证每一个(外部或内部)复位源都能有至少20μs的脉冲延时;当NRST引脚被拉低产生外部复位时,它将产生复位脉冲。
复位电路

备份域复位
备份区域拥有两个专门的复位,它们只影响备份区域(见图1)。
当以下事件中之一发生时,产生备份区域复位。
1. 软件复位,备份区域复位可由设置备份域控制寄存器(RCC_BDCR)中的BDRST位产生。
备份域控制寄存器(RCC_BDCR)
偏移地址:0x20
复位值:0x0000 0000,只能由备份域复位有效复位
访问:0到3等待周期,字、半字和字节访问
当连续对该寄存器进行访问时,将插入等待状态。
注意: 备份域控制寄存器中(RCC_BDCR)的LSEON、LSEBYP、RTCSEL和RTCEN位处于备份域。因此,这些位在复位后处于写保护状态,只有在电源控制寄存(PWR_CR)中的DBP位置’1’后才能对这些位进行改动。进一步信息请参考5.1节。这些位只能由备份域复位清除(见6.1.3节)。任何内部或外部复位都不会影响这些位。

2. 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。

图1



图2
上一篇:STM32软件复位的实现方法
史海拾趣
|
Getting a task done in another clock domain If the clkA domain has a task that needs to be completed in the clkB domain, you can use the following design. Here\'s one way to do it module TaskAck_CrossDomain( clkA, TaskStart_clkA, TaskBusy_clkA, TaskDone_clk ...… 查看全部问答> |
|
软件开发工程师 5人 任职资格: 1、 大学本科及以上学历,光信息科学与技术、光通信等相关专业; 2、 熟练掌握C/C++编程语言及主流的工具平台; 3、 熟练掌握windows编程; 4、 2年以上软件工程经验、数据库开发 ...… 查看全部问答> |
|
各位前辈好! 目前在对于在CE6.0的ce.bib调试理解上遇到了一些困难,希望各位能解答一下.... 我查看ce.bib里面的配置 NK 80220000 009E0000 RAMIMAGE (约10MB) RAM 8 ...… 查看全部问答> |
|
由于自己对LabVIEW比较熟悉,所以对基于LabVIEW的LM3S8962的开发特别感兴趣,在网上也查了一些资料!~如果这次我能有幸得到坛子里的LM3S8962我将写一份详细的关于LM3S8962的文档~! 下面是我转的: 9G-LM3S8 LabVIEW使用过程简介 一,准备LabVIE ...… 查看全部问答> |
|
当只发一个数据时,数据是正确的,但是当用查询的方式,连续发送数据的时候,数据就是错误的,而且当判断是否接收到数据结束码时,用查询方式也不能使数据连续发送,屏蔽此条语句后便可连续发送。用串口调试助手接收数据。是先采集数据,然后再发到 ...… 查看全部问答> |




