#include "watchdog.h" #include "stm8l10x_iwdg.h" #include "stm8l10x_gpio.h" void InitWatchdog(void) { IWDG_Enable(); IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); IWDG_SetPrescaler(IWDG_Prescaler_256); IWDG_SetReload(0xFF); IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable); IWDG_Enable(); } void WatchdogRefresh(void) { TIM4_ClearITPendingBit(TIM4_IT_Update); #ifdef USE_IWDG IWDG_ReloadCounter(); #endif //GPIO_ToggleBits(GPIOB, GPIO_Pin_3); } void ResetWatchdog(void) { #ifdef USE_IWDG #warning Internal WGT is used IWDG_ReloadCounter(); #else #warning External WGT is used GPIO_ToggleBits(GPIOB, GPIO_Pin_3); #endif }