STM32独立看门狗:你看狗都独立了。

本文介绍STM32独立看门狗的工作原理及其实现方法,通过定时倒计数来防止系统因软件故障而陷入死循环。当计数器减至0时会触发系统复位,通过定时喂狗(即重载计数器)维持系统正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HAL:https://blog.youkuaiyun.com/u014470361/article/details/79008865

参考GIT:

STM32--软看门口--不需要任何硬件支持--它在IC里面已经集成了。(算是独立看门狗的误解吧)

一个倒计数,减减减减减减,减到0就会触发一个系统复位信号也就是单片机重启了。

喂狗呢?就是隔一段时间就给这个倒计数重现装载数据,保持它不要到0.

头文件:

#ifndef _WDG_H_
#define _WDG_H_

void watch_dog_init(void);
void feed_dog(void);

#endif

 

实现:

 

#include "stm32f10x_iwdg.h"
#include "wdg.h"
void watch_dog_init(void)
{
	 IWDG_WriteAccessCmd(0x5555);
	 IWDG_SetPrescaler(IWDG_Prescaler_256);
	 IWDG_SetReload(0x0fff);
	 IWDG_Enable();			//Time_out=4095*128/40k = 12.8 sec.
}


void watch_dog_start(void)//这个函数没有用 基本就是初始化 就有狗了 看上面
{
	 IWDG_Enable();
}
void feed_dog(void)
{
	 IWDG_ReloadCounter();
}

 

 

OK拿去玩儿吧。

调用

void watch_dog_init(void);

以后你看看,如果你不循环喂狗的话就会。。。12S重启一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值