STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
stm32f4xx_hal_iwdg.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32F4xx_HAL_IWDG_H
21#define STM32F4xx_HAL_IWDG_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32f4xx_hal_def.h"
29
38/* Exported types ------------------------------------------------------------*/
46typedef struct
47{
48 uint32_t Prescaler;
51 uint32_t Reload;
55
59typedef struct
60{
61 IWDG_TypeDef *Instance;
65
66
71/* Exported constants --------------------------------------------------------*/
79#define IWDG_PRESCALER_4 0x00000000u
80#define IWDG_PRESCALER_8 IWDG_PR_PR_0
81#define IWDG_PRESCALER_16 IWDG_PR_PR_1
82#define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0)
83#define IWDG_PRESCALER_64 IWDG_PR_PR_2
84#define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0)
85#define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1)
94/* Exported macros -----------------------------------------------------------*/
104#define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE)
105
112#define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD)
113
118/* Exported functions --------------------------------------------------------*/
126/* Initialization/Start functions ********************************************/
135/* I/O operation functions ****************************************************/
145/* Private constants ---------------------------------------------------------*/
153#define IWDG_KEY_RELOAD 0x0000AAAAu
154#define IWDG_KEY_ENABLE 0x0000CCCCu
155#define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555u
156#define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000u
162/* Private macros ------------------------------------------------------------*/
172#define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE)
173
179#define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE)
180
186#define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \
187 ((__PRESCALER__) == IWDG_PRESCALER_8) || \
188 ((__PRESCALER__) == IWDG_PRESCALER_16) || \
189 ((__PRESCALER__) == IWDG_PRESCALER_32) || \
190 ((__PRESCALER__) == IWDG_PRESCALER_64) || \
191 ((__PRESCALER__) == IWDG_PRESCALER_128)|| \
192 ((__PRESCALER__) == IWDG_PRESCALER_256))
193
199#define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL)
200
201
202
216#ifdef __cplusplus
217}
218#endif
219
220#endif /* STM32F4xx_HAL_IWDG_H */
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.
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition
IWDG Handle Structure definition.
IWDG_TypeDef * Instance
IWDG_InitTypeDef Init
IWDG Init structure definition.