【趣解】看门狗定时器:防止系统“死机“的秘密武器
【趣解】看门狗定时器:防止系统"死机"的秘密武器
开篇:为什么要"喂狗"?
嵌入式工程师有一句名言:“程序跑着跑着就死了,不喂狗的结果。”
什么是"喂狗"?为什么要喂?
这就是今天的主角——看门狗定时器(Watchdog Timer)!
看门狗是什么?
看门狗定时器:一个"倒计时计时器",系统正常时定期"喂"它,系统异常时它就会"咬人"。
生活类比
就像你家养了一只看门狗:
- 狗饿了会叫(定时器溢出)
- 正常情况下,你每天早晚会喂它两次(喂狗)
- 如果你忘了喂,狗就叫了——说明你可能出事了(系统异常)
- 狗叫了你还不管,狗就可能去咬别人(系统重启或进入安全模式)
工作原理
系统正常运行 ↓ 定期"喂狗"(重置计数器) ↓ 计时器不会溢出 ↓ 系统继续运行 系统卡死/异常 ↓ 没人"喂狗" ↓ 计时器溢出 ↓ 触发复位/中断/安全处理看门狗的类型
1. 硬件看门狗
独立的硬件电路,不依赖CPU软件。
┌──