一、什么是复位电路
复位电路(Reset Circuit),是单片机 / 嵌入式系统上电、异常、手动操作时,让芯片回到初始、安全、可控状态的基础硬件电路。
简单理解:
- 相当于电脑的重启键 + 开机自检
- 让 STM32 从一个确定、干净的起点开始运行
- 防止芯片上电乱码、程序跑飞、引脚乱输出、外设失控
- 二、复位电路的核心作用
-
上电复位(POR)刚通电时电压不稳定,复位电路拉住复位脚,等电源稳定后再释放,让芯片正常启动。
-
手动复位(手动复位键)程序卡死、死机时,按下按键强制复位,恢复运行。
-
异常状态保护电压掉电、干扰、程序跑飞时,自动复位,避免设备失控。
- 三、STM32 复位的本质(不是所有的芯片都是低电平有效,设计时还需根据实际情况决定,目前针对的芯片是STM32的F1和F4系列)
STM32 有一个专用复位引脚:NRST(低电平有效)
- NRST = 低电平 → 芯片复位
- NRST = 高电平 → 芯片正常运行
-
复位电路的任务,就是控制 NRST 脚的电平,在合适时机拉低、再释放拉高。
2.2 电路组成

这个是从STM32开发指南截取的复位电路。
-
可能有的人会问,如何知道R3和C12的规格大小?我起初也有这样的疑问,经过查看前辈们的解释,每个芯片手册都对复位电压和复位时间有要求。
-

-
这是STM32F103C8T6的手册查到的
-

-

-
这是STM32F407的手册查到的,可以看到不同系列的电压和时间还是有些许差别的。那这个时间怎么算呢,
- NRST → 10kΩ 电阻 → VDD
- NRST → 0.1μF 电容 → GND
-
这种外部 RC 复位的保持时间才需要计算。
公式
t≈1.1×R×C这是电容充电到大约 高电平阈值(≈0.7VDD) 的时间,也就是 NRST 从低变高、释放复位的时间。
举例
- R = 10 kΩ
- C = 0.1 μF = 1×10⁻⁷ F
-
t≈1.1×10000×1×10−7=0.0011 s=1.1 ms
也就是说:上电后,复位保持约 1.1ms 才释放复位。
-

-
第 3 节 工作原理详细解读
3.1 上电复位过程(POR)
- 刚上电,VCC 从 0 → 3.3V
- 电容 C 相当于短路,NRST 被拉低
- STM32 保持复位状态
- 电容慢慢充电,NRST 电压逐渐升高
- 超过复位阈值 → 复位结束,芯片启动
-
作用:等待电源稳定,避免电压抖动导致启动失败。
3.2 手动按键复位
- 按下按键 → NRST 直接接 GND → 低电平复位
- 程序立刻停止,寄存器全部初始化
- 松开按键 → NRST 被 10K 上拉 → 重新启动
-
3.3 掉电复位
- 电源突然下降
- 电容放电,NRST 快速变低
- 芯片进入复位,防止半压状态下乱动作
第 4 节 RC 参数为什么选 10K + 0.1μF
4.1 RC 时间常数
τ=R×C=10K×0.1μF=0.001s=1ms
复位持续时间约 1~3ms,足够 STM32 稳定启动。
-
10kΩ电阻功耗低、抗干扰佳;0.1μF电容可滤除电源高频杂波,防止误复位。
- 三、STM32 复位的本质(不是所有的芯片都是低电平有效,设计时还需根据实际情况决定,目前针对的芯片是STM32的F1和F4系列)
网硕互联帮助中心






评论前必须登录!
注册