MM32G0001有以下几种方式可实现复位功能:
1、上电复位(Power-on Reset)
2、掉电复位(Power-down Reset)
3、外部复位(NRST Reset)
4、独立看门狗复位(IWDG Reset)
5、软件复位(Software Reset)
6、CPU死锁复位(CPU Lockup Reset)
7、PVD复位(PVD Reset)
一、上电复位
顾名思义,就是给系统通电后,产生的复位。本产品内部集成了上电复位(POR)电路。
二、掉电复位
本产品内部集成了掉电复位(PDR)电路。产品正常工作电压范围是2.0V~5.5V(供电电压达到 2.0V 时系统即能正常工作)。当工作电压低于指定的限位电压 Vpor/Vpdr时,系统保持为复位状态,而无需外部复位电路。这个限位电压默认是1.65V。
器件中有一个可编程电压监测器(PVD),它监视 VDD/VDDA 供电并与阈值 Vpvd 比较,当 VDD 低于或高于阈值 VPVD 时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD 功能需要通过程序开启,通过设置 PVDE 位来使能 PVD。
PVD 可编程电压监测器是可以通过编程的,通过设置电源控制寄存器 PWR_CR 中的 PLS 位控制器来调节Vpvd的,如下表:
三、外部复位(NRST Reset)
当NRST Pin输入低电平时,将会发生外部复位。
四、独立看门狗复位(IWDG Reset)
1、计数器开始从其复位值 0x0FFF 开始递减,当递减到达 0x0000 时,将会发生独立看门狗复位。
2、比较/输出如果程序异常,无法正常喂狗,将会发生独立看门狗复位。
五、软件复位(Software Reset)
可以通过将 SCB_AIRCR[SYSRESETREQ]置 1,产生软件复位。
六、CPU 死锁复位(CPU Lockup Reset)
1、配置控制状态寄存器(RCC_CSR)的 LOCKUPEN 位为 1时,使能CPU 死锁复位。
2、当 CPU 进入锁定状态将会发生 CPU 死锁复位。
七、PVD 复位(PVD Reset)
1、配置控制状态寄存器(RCC_CSR)的 PVDRSTEN 位为 1,使能PVD复位;
2、配置电源控制寄存器(PWR_CR)的 PVDE 位为 1,使能 PVD;
3、配置电源控制寄存器(PWR_CR)的 PLS 位进行 PVD 阈值选择;
4、检测 VDD 电源,当 VDD 电源低于选择的阈值电压时将会发生 PVD 复位。
八、关联的寄存器
1、PWR_CR 电源控制寄存器
地址偏移:0x00
复位值:0x00000000
2、PWR_CSR 电源控制/状态寄存器
地址偏移:0x04
复位值:0x00000000
3、RCC_CSR 控制状态寄存器
偏移地址:0x24
复位值:0x0800 0000