103 #ifdef HAL_IWDG_MODULE_ENABLED
123 #define HAL_IWDG_DEFAULT_TIMEOUT (((6UL * 256UL * 1000UL) / LSI_VALUE) + ((LSI_STARTUP_TIME / 1000UL) + 1UL))
124 #define IWDG_KERNEL_UPDATE_FLAGS (IWDG_SR_RVU | IWDG_SR_PVU)
174 assert_param(IS_IWDG_ALL_INSTANCE(hiwdg->
Instance));
176 assert_param(IS_IWDG_RELOAD(hiwdg->
Init.
Reload));
179 __HAL_IWDG_START(hiwdg);
183 IWDG_ENABLE_WRITE_ACCESS(hiwdg);
193 while ((hiwdg->
Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
195 if ((
HAL_GetTick() - tickstart) > HAL_IWDG_DEFAULT_TIMEOUT)
197 if ((hiwdg->
Instance->SR & IWDG_KERNEL_UPDATE_FLAGS) != 0x00u)
205 __HAL_IWDG_RELOAD_COUNTER(hiwdg);
240 __HAL_IWDG_RELOAD_COUNTER(hiwdg);
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg)
Initialize the IWDG according to the specified parameters in the IWDG_InitTypeDef and start watchdog....
HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
Refresh the IWDG.
IWDG Handle Structure definition.
This file contains all the functions prototypes for the HAL module driver.