HAL_WDT.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /***********************************************************************
  2. * Filename : HAL_WDT.h
  3. * Description : HAL WDT driver header file
  4. * Author(s) : CWT
  5. * version : V1.0
  6. * Modify date : 2020-04-17
  7. ***********************************************************************/
  8. #ifndef __HAL_WDT_H__
  9. #define __HAL_WDT_H__
  10. #include "ACM32Fxx_HAL.h"
  11. /**************** Bit definition for WDT CTRL register ********************/
  12. #define WDT_CTRL_EN BIT7
  13. #define WDT_CTRL_MODE BIT6
  14. #define WDT_CTRL_INTEN BIT4
  15. #define WDT_CTRL_DIVISOR (BIT0|BIT1|BIT2)
  16. /**************** Bit definition for WDTRIS register ********************/
  17. #define WDT_WDTRIS BIT0
  18. typedef enum
  19. {
  20. WDT_MODE_RST = 0x00U,
  21. WDT_MODE_INT = 0x01U,
  22. } WDT_MODE;
  23. typedef enum
  24. {
  25. WDT_DIVISOR_NONE = 0x00U,
  26. WDT_DIVISOR_2 = 0x01U,
  27. WDT_DIVISOR_4 = 0x02U,
  28. WDT_DIVISOR_8 = 0x03U,
  29. WDT_DIVISOR_16 = 0x04U,
  30. WDT_DIVISOR_32 = 0x05U,
  31. WDT_DIVISOR_64 = 0x06U,
  32. WDT_DIVISOR_128 = 0x07U,
  33. } WDT_DIVISOR;
  34. typedef struct
  35. {
  36. WDT_DIVISOR WDTDivisor;
  37. WDT_MODE WDTMode;
  38. uint32_t WDTLoad;
  39. uint32_t WDTINTCLRTIME;
  40. } WDT_InitTypeDef;
  41. typedef struct
  42. {
  43. WDT_TypeDef *Instance; /*!< WDT registers base address */
  44. WDT_InitTypeDef Init; /*!< WDT communication parameters */
  45. }WDT_HandleTypeDef;
  46. #define WDT_ENABLE (0x01 << 7)
  47. #define WDT_DISABLE (~WDT_ENABLE)
  48. #define WDT_INT_ENABLE (0x01 << 4)
  49. #define WDT_INT_DISABLE (~WDT_INT_ENABLE)
  50. /************************************************************************
  51. * function : HAL_WDT_Feed
  52. * Description: WDT feed.
  53. * input :
  54. * none
  55. * return: none
  56. ************************************************************************/
  57. void HAL_WDT_Feed(WDT_HandleTypeDef* hwdt);
  58. /************************************************************************
  59. * function : WDT_IRQHandler
  60. * Description: WDT interrupt service routine.
  61. * input :
  62. * none
  63. * return: none
  64. ************************************************************************/
  65. void HAL_WDT_IRQHandler(WDT_HandleTypeDef* hwdt);
  66. /************************************************************************
  67. * function : HAL_WDT_Init
  68. * Description: WDT initiation.
  69. * input :
  70. * pinit initiation parameters
  71. * return: none
  72. ************************************************************************/
  73. void HAL_WDT_Init(WDT_HandleTypeDef* hwdt);
  74. /************************************************************************
  75. * function : WDT_Start
  76. * Description: WDT start
  77. * input : none
  78. *
  79. * return: none
  80. ************************************************************************/
  81. void HAL_WDT_Start(WDT_HandleTypeDef* hwdt);
  82. /************************************************************************
  83. * function : WDT_Stop
  84. * Description: WDT stop
  85. * input : none
  86. *
  87. * return: none
  88. ************************************************************************/
  89. void HAL_WDT_Stop(WDT_HandleTypeDef* hwdt);
  90. /************************************************************************
  91. * function : WDT_Int_Enable
  92. * Description: WDT int enable
  93. * input : none
  94. *
  95. * return: none
  96. ************************************************************************/
  97. void HAL_WDT_Int_Enable(WDT_HandleTypeDef* hwdt);
  98. /************************************************************************
  99. * function : WDT_Int_Disable
  100. * Description: WDT int disable
  101. * input : none
  102. *
  103. * return: none
  104. ************************************************************************/
  105. void HAL_WDT_Int_Disable(WDT_HandleTypeDef* hwdt);
  106. #endif