STM CMSIS
stm32f4xx_hal_iwdg.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F4xx_HAL_IWDG_H
40 #define __STM32F4xx_HAL_IWDG_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32f4xx_hal_def.h"
48 
57 /* Exported types ------------------------------------------------------------*/
65 typedef struct
66 {
67  uint32_t Prescaler;
70  uint32_t Reload;
74 
78 typedef struct
79 {
85 
90 /* Exported constants --------------------------------------------------------*/
98 #define IWDG_PRESCALER_4 0x00000000U
99 #define IWDG_PRESCALER_8 IWDG_PR_PR_0
100 #define IWDG_PRESCALER_16 IWDG_PR_PR_1
101 #define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0)
102 #define IWDG_PRESCALER_64 IWDG_PR_PR_2
103 #define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0)
104 #define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1)
117 /* Exported macros -----------------------------------------------------------*/
118 
127 #define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE)
128 
135 #define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD)
136 
141 /* Exported functions --------------------------------------------------------*/
149 /* Initialization/Start functions ********************************************/
150 HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg);
158 /* I/O operation functions ****************************************************/
159 HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
168 /* Private constants ---------------------------------------------------------*/
176 #define IWDG_KEY_RELOAD 0x0000AAAAU
177 #define IWDG_KEY_ENABLE 0x0000CCCCU
178 #define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555U
179 #define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000U
185 /* Private macros ------------------------------------------------------------*/
186 
195 #define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE)
196 
202 #define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE)
203 
209 #define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \
210  ((__PRESCALER__) == IWDG_PRESCALER_8) || \
211  ((__PRESCALER__) == IWDG_PRESCALER_16) || \
212  ((__PRESCALER__) == IWDG_PRESCALER_32) || \
213  ((__PRESCALER__) == IWDG_PRESCALER_64) || \
214  ((__PRESCALER__) == IWDG_PRESCALER_128)|| \
215  ((__PRESCALER__) == IWDG_PRESCALER_256))
216 
222 #define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL)
223 
237 #ifdef __cplusplus
238 }
239 #endif
240 
241 #endif /* __STM32F4xx_HAL_IWDG_H */
242 
243 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
uint32_t Prescaler
Definition: stm32f4xx_hal_iwdg.h:67
This file contains HAL common defines, enumeration, macros and structures definitions.
IWDG_TypeDef * Instance
Definition: stm32f4xx_hal_iwdg.h:80
uint32_t Reload
Definition: stm32f4xx_hal_iwdg.h:70
IWDG Handle Structure definition.
Definition: stm32f4xx_hal_iwdg.h:78
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
IWDG Init structure definition.
Definition: stm32f4xx_hal_iwdg.h:65
Independent WATCHDOG.
Definition: stm32f401xc.h:333
IWDG_InitTypeDef Init
Definition: stm32f4xx_hal_iwdg.h:82