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_WRITE_ENABLE_COMMAND (0x5555U) 22 #define IWDT_WAKEUP_ENABLE_COMMAND (0x6666U) 23 #define IWDT_WAKEUP_DISABLE_COMMAND (0x9999U) 24 #define IWDT_RELOAD_COMMAND (0xAAAAU) 25 26 #define IWDT_RELOAD_MAX_VALUE (0x0FFFU) 27 28 /*----------------------type definition------------------------*/ 29 typedef enum _IWDT_CLOCK_PRESCALER{ 30 IWDT_CLOCK_PRESCALER_4 = 0, 31 IWDT_CLOCK_PRESCALER_8 = 1, 32 IWDT_CLOCK_PRESCALER_16 = 2, 33 IWDT_CLOCK_PRESCALER_32 = 3, 34 IWDT_CLOCK_PRESCALER_64 = 4, 35 IWDT_CLOCK_PRESCALER_128 = 5, 36 IWDT_CLOCK_PRESCALER_256 = 6, 37 }IWDT_CLOCK_PRESCALER; 38 39 typedef struct 40 { 41 uint32_t Prescaler; 42 uint32_t Reload; 43 uint32_t Window; 44 uint32_t Wakeup; 45 } IWDT_InitTypeDef; 46 47 typedef struct 48 { 49 IWDT_TypeDef *Instance; /*!< Register base address */ 50 IWDT_InitTypeDef Init; /*!< IWDT required parameters */ 51 } IWDT_HandleTypeDef; 52 53 54 HAL_StatusTypeDef HAL_IWDT_Init(IWDT_HandleTypeDef * hidt); 55 HAL_StatusTypeDef HAL_IWDT_Kick_Watchdog_Wait_For_Done(IWDT_HandleTypeDef * hidt); 56 #endif 57