4.4.3 复位配置
STM32F1系列MCU支持3种复位方式:系统复位、电源复位和备份区域复位。STM32F1系列MCU复位结构如图4.11所示。

图4.11 STM32F1系列MCU复位结构
1.系统复位
在进行系统复位时,需要将除时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器外的所有寄存器复位至它们的默认状态。引起系统复位的条件如下。
(1)NRST引脚上的低电平(外部复位),通过外接复位电路实现。
(2)窗口看门狗定时器计数终止(WWDG复位)后,将引起一次复位。
(3)独立看门狗定时器计数终止(IWDG复位)后,将引起一次复位。
(4)软件复位(SW复位)。通过将复位控制寄存器中的SYSRESETREQ位置1,可实现软件复位。执行软件复位函数
NVIC_SystemReset(),可引起一次复位。
(5)低功耗管理复位。在以下两种情况下可引起低功耗管理复位。(https://www.daowen.com)
①在进入待机模式时引起低功耗管理复位。将用户选择寄存器字节中的nRST_STDBY位置1将使能该复位。这时,即使执行了进入待机模式的过程,系统也将被复位而不是进入待机模式。
②在进入停止模式时引起低功耗管理复位。将用户选择寄存器字节中的nRST_STOP位置1将使能该复位。这时,即使执行了进入停止模式的过程,系统也将被复位而不是进入停止模式。
可通过查看RCC_CSR控制状态寄存器中的复位状态标志位,来识别复位事件来源。
2.电源复位
在进行电源复位时,将复位除备份区域外的所有寄存器。引起电源复位的条件包括上电/掉电复位(POR/PDR复位)和从待机模式中返回。
复位源将最终作用于复位引脚,并在复位过程中保持低电平。复位入口矢量被固定在地址0x0000_0004。芯片内部的复位信号会在NRST引脚上输出,脉冲发生器保证每一个(外部或内部)复位源都能有至少20μs的脉冲延时;当NRST引脚被拉低产生外部复位时,它将产生复位脉冲。
3.备份区域复位
备份区域拥有两个专门的复位,它们只影响备份区域。引起备份区域复位的条件有以下两个。
(1)软件复位。备份区域复位可由设置备份域控制寄存器(RCC_BDCR)的BDRST产生。
(2)在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位。