2025-11-08 06:48:44
单片机复位主要有两种方式,一种是硬件复位,另一种是软件复位。硬件复位就是通过外部电路让单片机回到初始状态,比如用复位按钮或者电阻电容组成的电路。软件复位则是通过编写程序让单片机主动重启,比如延时后跳转到启动地址。这两种方法各有各的用场,硬件复位更稳定,软件复位需要程序配合。
硬件复位主要是靠外部电路触发,比如用10kΩ电阻和0.1μF电容组成的RC电路,电阻给电容充电时电压会从低到高,当电压超过单片机复位阈值(通常2.0V-3.3V)就会复位。软件复位则是通过执行特定指令,比如STI指令屏蔽中断后跳转到0000H地址,这种复位需要程序支持,执行时间大约在1-10毫秒之间。硬件复位成本低但占引脚,软件复位灵活但依赖代码。比如STM32的复位电压是2.0V-3.6V,典型复位电路电阻取10kΩ,电容取0.1μF,这样充电时间常数是1ms,刚好让单片机有足够时间复位。所以 hobbyist 通常先试硬件复位,再考虑软件复位,因为硬件更可靠,软件容易出问题。
本题链接: