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