9.STM32之两只看门狗

1.独立看门狗 IWDG

由内部时钟LSI提供,故不需要时钟使能,为递减计数器。独立看门狗激活后,计数器递减到0时复位,因此需要在计数器减到0之前进行喂狗操作。

步骤:取消写保护-设置时钟分频系数-设置重装载值-看门狗使能-喂狗程序

相关函数:#include "stm32f4xx_iwdg.h"

void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);  

void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);

void IWDG_SetReload(uint16_t Reload);

void IWDG_Enable(void);

void IWDG_ReloadCounter(void);

2.窗口看门狗 WWDG

为内置的6位递减计数器,在PCLK1分频时钟的驱动下工作。看门狗使能后,计数器减至0X40时会产生早期唤醒中断(EWI),在此中断服务中进行喂狗操作。若计数器继续递减至0X3F,则产生看门狗复位。此外,看设置窗口外进行喂狗操作,同样会产生复位,即喂狗时间在一个窗口之内,并且可以灵活的配置此窗口。

相关函数:#include <stm32f4xx_wwdg.h>

void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);  设置时钟分频系数

void WWDG_SetWindowValue(uint8_t WindowValue); 设置窗口值  0X40~0X7F范围内

void WWDG_EnableIT(void);

void WWDG_EnableIT(void);

void WWDG_IRQHandler(void);

void WWDG_ClearFlag(void);

void WWDG_SetCounter(uint8_t Counter);

猜你喜欢

转载自blog.csdn.net/weixin_42480952/article/details/82693560
今日推荐