有三种Reset:System 复位,Power 复位,RTC域复位.

  • System 复位

    System复位所有寄存器,但除了RTC,RTC backup寄存器和控制/状态寄存器RCC_CSR。

    system复位产生的情形有:

    1. NRST引脚拉低

    2. 看门狗计数结束(WWDG复位)

    3. 独立看门狗技术结束(IWDG复位)

    4. 软件复位(SW复位)

    5. 低功耗管理复位

    6. 选项字节加载复位

    7. 退出Standby模式

  这些复位源可以通过查看RCC_CSR寄存器的相应复位标识位进行确认。

  Software复位

  通过设置Cortext-M3的应用中断与复位控制(Application Interrupt and Reset Control) 寄存器的SYSRESETREQ位复位。需要参考Cortext-M3内核相关资料。

  低功耗管理复位

  以下两种情形产生低功耗管理复位:

  1. 进入Standby模式:

  用户选项字节中复位nRST_STDBY位使能这种复位。该情形下,任意时候执行完进入Standby模式的序列,设备都将进入复位状态而不是进入Standby模式。

  2. 进入Stop模式:

  用户选项字节中复位nRST_STOP位使能这种复位。该情形下,任意时候执行完进入Stop模式的序列,设备都将进入复位状态而不是进入Stop模式。

  选项字节加载复位

  FLASH_PECR寄存器的OBL_LAUNCH位置1产生选项字节载入复位。这个位用来软件方式加载选项字节。

  • Power 复位

  产生power复位的情形:

  1.Power-on/power-down复位(POR/PDR复位)

  2.BOR复位

  power复位可以复位所有寄存器的值,包括RTC域的寄存器。

  这些复位源产生的复位使得NRST引脚在延迟阶段一直处于低电平状态。RESET服务入口向量地址为0x0000_0004。

  system复位信号也在NRST引脚上输出。脉冲发生器为每个内部的复位源产生一个最小的20us的复位时间。外部复位情形下,复位脉冲在NRST引脚拉低的情形下产生。

  • RTC 和 backup寄存器reset

  下面两种情况才可以复位RTC外围,RTC时钟源选择(RCC_CSR中)和backup寄存器:

  1. 置位RCC_CSR寄存器的RTCRST引发的复位。

  2. Power reset(BOR/POR/PDR)