#include "wdg.h"

//初始化独立看门狗
//prer:分频数:0~7(只有低3位有效!)
//分频因子=4*2^prer.但最大值只能是256!
//rlr:重装载寄存器值:低11位有效.
//时间计算(大概):Tout=((4*2^prer)*rlr)/40 (ms).

/*
//IWDG_Init(4,625);    //与分频数为64,重载值为625,溢出时间为1s
void IWDG_Init(u8 prer,u16 rlr) 
{	
 	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);  //使能对寄存器IWDG_PR和IWDG_RLR的写操作	
	IWDG_SetPrescaler(prer);  //设置IWDG预分频值:设置IWDG预分频值为64
	IWDG_SetReload(rlr);  //设置IWDG重装载值
	IWDG_ReloadCounter();  //按照IWDG重装载寄存器的值重装载IWDG计数器
	IWDG_Enable();  //使能IWDG
}
*/

void IWDG_Init(void)
{
	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//写入0x5555,用于允许狗狗寄存器写入功能
	IWDG_SetPrescaler(IWDG_Prescaler_256);//时钟分频,40K/256=156HZ(6.4ms)
	IWDG_SetReload(781);//喂狗时间 5s/6.4MS=781 .注意不能大于0xfff
	IWDG_ReloadCounter();//喂狗
	IWDG_Enable();//使能看门狗
}

//喂独立看门狗
void IWDG_Feed(void)
{   
 	IWDG_ReloadCounter();//reload										   
}
