看门狗的作用就是为了在程序跑飞后能够复位,配置如下:
IWDG_KR = 0xCC; //启动IWDG
IWDG_KR = 0x55; //解除 PR 及 RLR 的写保护
IWDG_RLR = 0xff; //看门狗计数器重装载数值
IWDG_PR = 0x06; //分频系数为256,最长超时时间为:1.02s
IWDG_KR = 0xAA; //刷新IWDG,避免产生看门狗复位,同时恢复 PR 及 RLR 的写保护状态
上面这些手册里都有讲,照着配就行了。喂狗的语句就是 IWDG_KR = 0xAA; 注意不要过于频繁的喂狗,我试过在主循环只放这一句代码,结果复位了。最后就是下面这张表看一下: