一直安静的看门狗

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重启一次

猜你喜欢

转载自blog.csdn.net/weixin_42381351/article/details/80580565