STM32F103 看门狗设置

不费话,直接上代码


/*************************************************************
看门狗的喂狗时间(看门狗溢出时间)计算公式:
 Tout=((4*2^prer)*rlr)/40
Tout看门狗溢出时间(单位ms),
prer是看门狗时钟预分频值(IWDG_PR值),范围为0~7,
rlr位看门狗重载值(IWDG_RLR)。
 比如我们设置PR[2..0]为4, RLR[11..0]的值为625,我们就可以计算得到    
Tout=64*625/40=1000ms,这样,看门狗的溢出时间就是1S,
只要在这一秒钟内,有一次吸入0XAAAA到IWDG_KR,就不会导致看门狗复位。
***************************************************************/
void IWDG_Init(u32 prer,u32 rlr)
{
      IWDG->KR=0X5555;      //解除寄存器保护        
      IWDG->PR=prer;         // 写入初始化分频值
      IWDG->RLR=rlr;         // 写入自动装载值
      IWDG->KR=0XAAAA;     //开启寄存器保护
      IWDG->KR=0XCCCC;       //启动看门狗
}


//喂狗函数
void IWDG_Feed(void)
{
    IWDG->KR=0XAAAA;                                  
}



int main(void) //主函数
 {    
		u16	i;
		
        IWDG_Init(4,625);				//IWDG时钟=40KHz, PR=4=64分频  时间=1S

	 
		while(1)			
		{	
		LED1_NOT;			//LED指示灯  

        for(i=60000;i>0;i--);
        for(i=60000;i>0;i--);

          IWDG_Feed();		//喂狗函数  
        }

}






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值