1. WWDG概述
stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。
2. 相关类型
WWDG_Prescaler
/** @defgroup WWDG_Prescaler
* @{
*/
#define WWDG_Prescaler_1 ((uint32_t)0x00000000)
#define WWDG_Prescaler_2 ((uint32_t)0x00000080)
#define WWDG_Prescaler_4 ((uint32_t)0x00000100)
#define WWDG_Prescaler_8 ((uint32_t)0x00000180)
#define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) ||
((PRESCALER) == WWDG_Prescaler_2) ||
((PRESCALER) == WWDG_Prescaler_4) ||
((PRESCALER) == WWDG_Prescaler_8))
#define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) 《= 0x7F)
#define IS_WWDG_COUNTER(COUNTER) (((COUNTER) 》= 0x40) && ((COUNTER) 《= 0x7F))
中断处理函数
WWDG_IRQn = 0, /*!《 Window WatchDog Interrupt*/
3. 相关函数
/* Function used to set the WWDG configuration to the default reset state ****/
void WWDG_DeInit(void);
/* Prescaler, Refresh window and Counter configuration functions **************/
void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
void WWDG_SetWindowValue(uint8_t WindowValue);
void WWDG_EnableIT(void); void WWDG_SetCounter(uint8_t Counter);
/* WWDG activation function ***************************************************/
void WWDG_Enable(uint8_t Counter);
/* Interrupts and flags management functions **********************************/
FlagStatus WWDG_GetFlagStatus(void);
void WWDG_ClearFlag(void);
4. 结构体封装
/**
* @brief Window WATCHDOG
*/
typedef struct
{
__IO uint32_t CR; /*!《 WWDG Control register, Address offset: 0x00 */
__IO uint32_t CFR; /*!《 WWDG Configuration register, Address offset: 0x04 */
__IO uint32_t SR; /*!《 WWDG Status register, Address offset: 0x08 */
} WWDG_TypeDef;
1. WWDG概述
stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。
2. 相关类型
WWDG_Prescaler
/** @defgroup WWDG_Prescaler
* @{
*/
#define WWDG_Prescaler_1 ((uint32_t)0x00000000)
#define WWDG_Prescaler_2 ((uint32_t)0x00000080)
#define WWDG_Prescaler_4 ((uint32_t)0x00000100)
#define WWDG_Prescaler_8 ((uint32_t)0x00000180)
#define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) ||
((PRESCALER) == WWDG_Prescaler_2) ||
((PRESCALER) == WWDG_Prescaler_4) ||
((PRESCALER) == WWDG_Prescaler_8))
#define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) 《= 0x7F)
#define IS_WWDG_COUNTER(COUNTER) (((COUNTER) 》= 0x40) && ((COUNTER) 《= 0x7F))
中断处理函数
WWDG_IRQn = 0, /*!《 Window WatchDog Interrupt*/
3. 相关函数
/* Function used to set the WWDG configuration to the default reset state ****/
void WWDG_DeInit(void);
/* Prescaler, Refresh window and Counter configuration functions **************/
void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
void WWDG_SetWindowValue(uint8_t WindowValue);
void WWDG_EnableIT(void); void WWDG_SetCounter(uint8_t Counter);
/* WWDG activation function ***************************************************/
void WWDG_Enable(uint8_t Counter);
/* Interrupts and flags management functions **********************************/
FlagStatus WWDG_GetFlagStatus(void);
void WWDG_ClearFlag(void);
4. 结构体封装
/**
* @brief Window WATCHDOG
*/
typedef struct
{
__IO uint32_t CR; /*!《 WWDG Control register, Address offset: 0x00 */
__IO uint32_t CFR; /*!《 WWDG Configuration register, Address offset: 0x04 */
__IO uint32_t SR; /*!《 WWDG Status register, Address offset: 0x08 */
} WWDG_TypeDef;
举报