HAL_IWDT.h 1.6 KB

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