看门狗是一种计数器。当计数的值溢出时会自动复位MCU。(需要在溢出前“喂狗”,避免复位)
看门狗机制可以避免程序跑死(跑死时自动复位)
改变看门狗寄存器参数前必须解锁看门狗。freescale kinetis看门狗解锁步骤是向看门狗的解锁寄存器连续写入0XC520和0xD928.两次写入不能超过20个时钟周期。

注:程序需要烧至flash,否则复位后程序丢失。

初始化看门狗- void WDOG_Init(void)
- {
- WDOG_UNLOCK = 0xC520;
- WDOG_UNLOCK = 0xD928; //解锁看门狗寄存器(重新写入前必须解锁)两次写入不能超过20个时钟周期
- WDOG_PRESC = 0x0700; //(7+1)分频
- WDOG_TOVALH = 0x0110; //看门狗超时时间设置为3s
- WDOG_TOVALL = 0x5E90;
- }
|