1 2 /*********************************************************************** 3 * Filename : HAL_IWDT.h 4 * Description : IHAL WDT driver header file 5 * Author(s) : CWT 6 * version : V1.0 7 * Modify date : 2020-04-17 8 ***********************************************************************/ 9 10 #ifndef __HAL_IWDT_H__ 11 #define __HAL_IWDT_H__ 12 13 #include "ACM32Fxx_HAL.h" 14 15 16 /**************** Bit definition for IWDT register ***********************/ 17 18 19 /*----------------------macro definition------------------------*/ 20 #define IWDT_ENABLE_COMMAND (0xCCCCU) 21 #define IWDT_DISABLE_COMMAND (0xEF01ABCD) 22 #define IWDT_WRITE_ENABLE_COMMAND (0x5555U) 23 #define IWDT_WAKEUP_ENABLE_COMMAND (0x6666U) 24 #define IWDT_WAKEUP_DISABLE_COMMAND (0x9999U) 25 #define IWDT_RELOAD_COMMAND (0xAAAAU) 26 27 #define IWDT_RELOAD_MAX_VALUE (0x0FFFU) 28 29 /*----------------------type definition------------------------*/ 30 typedef enum _IWDT_CLOCK_PRESCALER{ 31 IWDT_CLOCK_PRESCALER_4 = 0, 32 IWDT_CLOCK_PRESCALER_8 = 1, 33 IWDT_CLOCK_PRESCALER_16 = 2, 34 IWDT_CLOCK_PRESCALER_32 = 3, 35 IWDT_CLOCK_PRESCALER_64 = 4, 36 IWDT_CLOCK_PRESCALER_128 = 5, 37 IWDT_CLOCK_PRESCALER_256 = 6, 38 }IWDT_CLOCK_PRESCALER; 39 40 typedef struct 41 { 42 uint32_t Prescaler; 43 uint32_t Reload; 44 uint32_t Window; 45 uint32_t Wakeup; 46 } IWDT_InitTypeDef; 47 48 typedef struct 49 { 50 IWDT_TypeDef *Instance; /*!< Register base address */ 51 IWDT_InitTypeDef Init; /*!< IWDT required parameters */ 52 } IWDT_HandleTypeDef; 53 54 55 HAL_StatusTypeDef HAL_IWDT_Init(IWDT_HandleTypeDef * hidt); 56 HAL_StatusTypeDef HAL_IWDT_Kick_Watchdog_Wait_For_Done(IWDT_HandleTypeDef * hidt); 57 #endif 58