STM32F1基本配置4.独立看门狗的配置

看门狗简介

看门狗的功能是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号。
因此要不断进行喂狗,防止系统复位。

STM32看门狗

STM32的独立看门狗由内部专门的40Khz时钟驱动。但这是一个内部的RC
时钟,所以不是准确的40Khz。但看门狗对时间的要求不是特别精确,所以
可以接受。

溢出时间的计算

看门狗由 IWDG->PR 寄存器设置预分配值, 由IDWG->RLR设置重装载值。
如果设置预分频值为 64 , 
那么时钟有40 000hz / 64 =   625,
代表每秒计数625次,即每毫秒计数0.625次,0.625 / ms
那么记一次数的时间为 1 / 0.625 ms
如果重装载值设置为 1250, 那么溢出时间为 1250 * 1 / 0.625 = 2000ms
意思就是如果超过2000ms不进行喂狗,那么系统就会复位。
但是上面说过内部RC时钟不是准确的40Khz,所以尽快喂狗为好。

看门狗代码实现

	 //解除对IWDG_PR和IWDG_RLR寄存器写操作限制
 	IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 
	
	IWDG_SetPrescaler(pre);  //设置IWDG预分频值为pre
	
	IWDG_SetReload(rlr);  //设置IWDG重装载值为rlr
	
	IWDG_ReloadCounter();  //将重装载寄存器的值装载进IWDG计数器
	
	IWDG_Enable();  //使能看门狗

喂狗代码

	IWDG_ReloadCounter();//定时喂狗就好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值