基于STM32的独立看门狗
一 独立看门狗原理:
1.1 本实验实现STM32的独立看门狗
1.2 实验思路:理解STM32独立看门狗原理,根据其原理写驱动。
1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真
二 实验步骤:
2.1 wdg.h代码:
#ifndef __WDG_H
#define __WDG_H
#include "sys.h"
void IWDG_Init(u8 prer,u16 rlr); //独立看门狗初始化
void IWDG_Feed(void); //喂狗
#endif
2.2 wdg.c代码(独立看门狗初始化与喂狗):
#include "wdg.h"
/*初始化独立看门狗
prer:分频数:0~7(只有低3位有效!)
分频因子=4*2^prer.但最大值只能是256!
rlr:重装载寄存器值:低11位有效.
时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).
*/
void IWDG_Init(u8 prer,u16 rlr)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能对寄存器IWDG_PR和IWDG_RLR的写操作
IWDG_SetPrescaler(prer); //设置IWDG预分频值;
IWDG_SetReload(rlr); //设置IWDG重装载值
IWDG_ReloadCounter(); //按照IWDG重装载寄存器的值重装载IWDG计数器
IWDG_Enable(); //使能IWDG
}
//喂独立看门狗
void IWDG_Feed(void)
{
IWDG_ReloadCounter();//reload