01. IWDG概述
stm32f4xx_iwdg.h和stm32f4xx_iwdg.c文件中
02. 相关类型
IWDG_WriteAccess- /** @defgroup IWDG_WriteAccess
- * @{
- */
- #define IWDG_WriteAccess_Enable ((uint16_t)0x5555)
- #define IWDG_WriteAccess_Disable ((uint16_t)0x0000)
- #define IS_IWDG_WRITE_ACCESS(ACCESS) (((ACCESS) == IWDG_WriteAccess_Enable) || \
- ((ACCESS) == IWDG_WriteAccess_Disable))
复制代码
IWDG_prescaler
- /** @defgroup IWDG_prescaler
- * @{
- */
- #define IWDG_Prescaler_4 ((uint8_t)0x00)
- #define IWDG_Prescaler_8 ((uint8_t)0x01)
- #define IWDG_Prescaler_16 ((uint8_t)0x02)
- #define IWDG_Prescaler_32 ((uint8_t)0x03)
- #define IWDG_Prescaler_64 ((uint8_t)0x04)
- #define IWDG_Prescaler_128 ((uint8_t)0x05)
- #define IWDG_Prescaler_256 ((uint8_t)0x06)
- #define IS_IWDG_PRESCALER(PRESCALER) (((PRESCALER) == IWDG_Prescaler_4) || \
- ((PRESCALER) == IWDG_Prescaler_8) || \
- ((PRESCALER) == IWDG_Prescaler_16) || \
- ((PRESCALER) == IWDG_Prescaler_32) || \
- ((PRESCALER) == IWDG_Prescaler_64) || \
- ((PRESCALER) == IWDG_Prescaler_128)|| \
- ((PRESCALER) == IWDG_Prescaler_256))
复制代码
IWDG_Flag
- /** @defgroup IWDG_Flag
- * @{
- */
- #define IWDG_FLAG_PVU ((uint16_t)0x0001)
- #define IWDG_FLAG_RVU ((uint16_t)0x0002)
- #define IS_IWDG_FLAG(FLAG) (((FLAG) == IWDG_FLAG_PVU) || ((FLAG) == IWDG_FLAG_RVU))
- #define IS_IWDG_RELOAD(RELOAD) ((RELOAD) <= 0xFFF)
复制代码
03. 相关函数
- /* Exported macro ------------------------------------------------------------*/
- /* Exported functions --------------------------------------------------------*/
- /* Prescaler and Counter configuration functions ******************************/
- void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);
- void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);
- void IWDG_SetReload(uint16_t Reload);
- void IWDG_ReloadCounter(void);
- /* IWDG activation function ***************************************************/
- void IWDG_Enable(void);
- /* Flag management function ***************************************************/
- FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG);
复制代码
04. 结构体封装
- /**
- * @brief Independent WATCHDOG
- */
- typedef struct
- {
- __IO uint32_t KR; /*!< IWDG Key register, Address offset: 0x00 */
- __IO uint32_t PR; /*!< IWDG Prescaler register, Address offset: 0x04 */
- __IO uint32_t RLR; /*!< IWDG Reload register, Address offset: 0x08 */
- __IO uint32_t SR; /*!< IWDG Status register, Address offset: 0x0C */
- } IWDG_TypeDef;
复制代码
|