在使用看门狗的时候,注意点:
1. 我一般做的项目都是小中型项目,所以我看门狗定时间隔设置为1s,如果因为芯片系统时钟,资源限制,导致看门狗定时器时间间隔设置的很短,比如,c8051f410芯片,当系统时钟为24.5MHZ时,看门狗定时器间隔最大为32.1ms,这个时候,简单的做法,在主程序里,让喂狗的频率更频繁些,尽量在32.1ms内喂狗。稍微复杂的做法,换wdt时钟源为定时器0,或者改变系统时钟的频率,比如分频系统时钟,这个时候,就会影响一些别的外设,比如定时器,或者uart波特率的设置。
2. 在那些地方需要喂狗?
答:有延时的地方,就需要喂狗,比如延时函数,比如大的for循环处,flash操作,加密算法处。逻辑复杂的地方,需要执行代码量大的地方。
3. 可以在中断函数里,喂狗吗?
答:不可以,
喂狗的作用就是在检测主程序是否跑偏,如果我们在定时器喂狗,定时的喂狗,那就算主程序跑飞了,看门狗也不会复位程序。