RTEMS 6.3
Loading...
Searching...
No Matches
stm32h7xx_hal_iwdg.h
Go to the documentation of this file.
1
18
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32H7xx_HAL_IWDG_H
21#define STM32H7xx_HAL_IWDG_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32h7xx_hal_def.h"
29
33
38
39/* Exported types ------------------------------------------------------------*/
44
48typedef struct
49{
50 uint32_t Prescaler;
52
53 uint32_t Reload;
55
56 uint32_t Window;
58
60
70
71
75
76/* Exported constants --------------------------------------------------------*/
81
86#define IWDG_PRESCALER_4 0x00000000u
87#define IWDG_PRESCALER_8 IWDG_PR_PR_0
88#define IWDG_PRESCALER_16 IWDG_PR_PR_1
89#define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0)
90#define IWDG_PRESCALER_64 IWDG_PR_PR_2
91#define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0)
92#define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1)
96
101#define IWDG_WINDOW_DISABLE IWDG_WINR_WIN
105
109
110/* Exported macros -----------------------------------------------------------*/
115
121#define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE)
122
129#define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD)
130
134
135/* Exported functions --------------------------------------------------------*/
140
145/* Initialization/Start functions ********************************************/
146HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg);
150
155/* I/O operation functions ****************************************************/
156HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
160
164
165/* Private constants ---------------------------------------------------------*/
170
174#define IWDG_KEY_RELOAD 0x0000AAAAu
175#define IWDG_KEY_ENABLE 0x0000CCCCu
176#define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555u
177#define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000u
178
182
183/* Private macros ------------------------------------------------------------*/
188
194#define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE)
195
201#define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE)
202
208#define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \
209 ((__PRESCALER__) == IWDG_PRESCALER_8) || \
210 ((__PRESCALER__) == IWDG_PRESCALER_16) || \
211 ((__PRESCALER__) == IWDG_PRESCALER_32) || \
212 ((__PRESCALER__) == IWDG_PRESCALER_64) || \
213 ((__PRESCALER__) == IWDG_PRESCALER_128)|| \
214 ((__PRESCALER__) == IWDG_PRESCALER_256))
215
221#define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL)
222
228#define IS_IWDG_WINDOW(__WINDOW__) ((__WINDOW__) <= IWDG_WINR_WIN)
229
230
234
238
242
243
244#ifdef __cplusplus
245}
246#endif
247
248#endif /* STM32H7xx_HAL_IWDG_H */
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition stm32h7xx_hal_def.h:47
IWDG Handle Structure definition.
Definition stm32h7xx_hal_iwdg.h:65
IWDG_TypeDef * Instance
Definition stm32h7xx_hal_iwdg.h:66
IWDG_InitTypeDef Init
Definition stm32h7xx_hal_iwdg.h:68
IWDG Init structure definition.
Definition stm32h7xx_hal_iwdg.h:49
uint32_t Window
Definition stm32h7xx_hal_iwdg.h:56
uint32_t Prescaler
Definition stm32h7xx_hal_iwdg.h:50
uint32_t Reload
Definition stm32h7xx_hal_iwdg.h:53
Independent WATCHDOG.
Definition stm32h723xx.h:1152