HAL_IWDT.h 1.7 KB

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