2025-11-08 05:33:46
STM32复位主要有六种情况,比如上电自动复位、软件主动复位、外部电路触发复位、看门狗超时复位、电压异常复位和芯片故障复位。比如刚插电的时候芯片会自己复位,或者用代码写个复位指令就会复位。外部复位线接高电平也会让芯片重启,看门狗没喂食超过4秒也会复位。
比如上电复位是因为芯片刚启动需要初始化,这时候电压还没稳定好,所以系统会自动重启。软件复位是开发者自己写的代码触发的,比如用HAL库里的NVIC_SystemReset函数。外部复位线接10kΩ上拉电阻,平时低电平,复位时拉高触发。看门狗超时复位需要配置好,比如看门狗窗口时间设置为4秒,如果代码没在2秒到4秒内喂狗,就会复位。电源电压不稳的话,比如锂电池电压掉到2.8V以下,芯片会进入低功耗模式并自动复位。芯片故障复位是硬件损坏导致的,比如复位电路短路,这时候复位线一直保持高电平,芯片无法正常启动。数据来源:STM32参考手册P112和P158,看门狗典型工作时间为4秒,电源电压范围3.3V±10%。
本题链接: