目标:
没按下KEY1(没喂狗):LED反复点亮熄灭
按下KEY1(喂狗):一直进复位, LED不亮
一.原理分析
1.看门狗:IWDG(独立看门狗), WWDG(窗口看门狗)
2.
电脑死机—>强制关机并重启
仪器仪表的CPU—>遇到强电场和大功率设备->处理器跑飞->程序中的pt指针跳到另一个地方执行或者不能运行->仪表死机->复位仪表->独立看门狗实现
3.STM32寄存器手册(3个)
键寄存器(IWDG_KR):喂狗值(复位):写0xAAAA, 允许访问寄存器:写0x5555, 启动看门狗:写0xCCCC
预分频寄存器(IWDG_PR):分频倍数为0、1、2、3......(我选择4倍频)(IWDG工频40KHZ)
40KHZ/4*2^4 = 625HZ(重装载值设置为625)
重装载寄存器(IWDG_RLR):决定复位时间(我设置的4倍频+重装载值设为625, 一秒一个复位(喂狗时间))
寄存器知道怎么设置了, 那库函数中有给IWDG封装好的函数吗?