1
0

gd32f10x_exti.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /**
  2. ******************************************************************************
  3. * @brief EXTI header file of the firmware library.
  4. ******************************************************************************
  5. */
  6. /* Define to prevent recursive inclusion -------------------------------------*/
  7. #ifndef __GD32F10X_EXTI_H
  8. #define __GD32F10X_EXTI_H
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. /* Includes ------------------------------------------------------------------*/
  13. #include "gd32f10x.h"
  14. /** @addtogroup GD32F10x_Firmware
  15. * @{
  16. */
  17. /** @addtogroup EXTI
  18. * @{
  19. */
  20. /** @defgroup EXTI_Exported_Types
  21. * @{
  22. */
  23. /**
  24. * @brief EXTI Mode enumeration
  25. */
  26. typedef enum {
  27. EXTI_Mode_Interrupt = 0x00,
  28. EXTI_Mode_Event = 0x04
  29. } EXTI_ModePara;
  30. /**
  31. * @brief EXTI Trigger enumeration
  32. */
  33. typedef enum {
  34. EXTI_Trigger_Rising = 0x08,
  35. EXTI_Trigger_Falling = 0x0C,
  36. EXTI_Trigger_Rising_Falling = 0x10
  37. } EXTI_TriggerPara;
  38. /**
  39. * @brief EXTI Initial Parameters
  40. */
  41. typedef struct {
  42. uint32_t EXTI_LINE; /*!< The selection of EXTI lines. */
  43. EXTI_ModePara EXTI_Mode; /*!< The mode for the EXTI lines, detailed in @ref EXTIMode_Para. */
  44. EXTI_TriggerPara EXTI_Trigger; /*!< The trigger edge for the EXTI lines, detailed in EXTI_TriggerPara. */
  45. TypeState EXTI_LINEEnable; /*!< The new value of the selected EXTI lines. */
  46. } EXTI_InitPara;
  47. /**
  48. * @}
  49. */
  50. /** @defgroup EXTI_Exported_Constants
  51. * @{
  52. */
  53. /** @defgroup EXTI_lines
  54. * @{
  55. */
  56. #define EXTI_LINE0 ((uint32_t)0x00000001) /*!< External interrupt line 0 */
  57. #define EXTI_LINE1 ((uint32_t)0x00000002) /*!< External interrupt line 1 */
  58. #define EXTI_LINE2 ((uint32_t)0x00000004) /*!< External interrupt line 2 */
  59. #define EXTI_LINE3 ((uint32_t)0x00000008) /*!< External interrupt line 3 */
  60. #define EXTI_LINE4 ((uint32_t)0x00000010) /*!< External interrupt line 4 */
  61. #define EXTI_LINE5 ((uint32_t)0x00000020) /*!< External interrupt line 5 */
  62. #define EXTI_LINE6 ((uint32_t)0x00000040) /*!< External interrupt line 6 */
  63. #define EXTI_LINE7 ((uint32_t)0x00000080) /*!< External interrupt line 7 */
  64. #define EXTI_LINE8 ((uint32_t)0x00000100) /*!< External interrupt line 8 */
  65. #define EXTI_LINE9 ((uint32_t)0x00000200) /*!< External interrupt line 9 */
  66. #define EXTI_LINE10 ((uint32_t)0x00000400) /*!< External interrupt line 10 */
  67. #define EXTI_LINE11 ((uint32_t)0x00000800) /*!< External interrupt line 11 */
  68. #define EXTI_LINE12 ((uint32_t)0x00001000) /*!< External interrupt line 12 */
  69. #define EXTI_LINE13 ((uint32_t)0x00002000) /*!< External interrupt line 13 */
  70. #define EXTI_LINE14 ((uint32_t)0x00004000) /*!< External interrupt line 14 */
  71. #define EXTI_LINE15 ((uint32_t)0x00008000) /*!< External interrupt line 15 */
  72. #define EXTI_LINE16 ((uint32_t)0x00010000) /*!< External interrupt line 16
  73. Connected to the LVD */
  74. #define EXTI_LINE17 ((uint32_t)0x00020000) /*!< External interrupt line 17
  75. Connected to the RTC Alarm */
  76. #define EXTI_LINE18 ((uint32_t)0x00040000) /*!< External interrupt line 18
  77. Connected to the USB Wakeup */
  78. #define EXTI_LINE19 ((uint32_t)0x00080000) /*!< External interrupt line 19
  79. Connected to the Ethernet Wakeup */
  80. /**
  81. * @}
  82. */
  83. /**
  84. * @}
  85. */
  86. /** @defgroup EXTI_Exported_Functions
  87. * @{
  88. */
  89. void EXTI_DeInit(EXTI_InitPara *EXTI_InitParaStruct);
  90. void EXTI_Init(EXTI_InitPara *EXTI_InitParaStruct);
  91. void EXTI_SWINT_Enable(uint32_t EXTI_LINE);
  92. TypeState EXTI_GetBitState(uint32_t EXTI_LINE);
  93. void EXTI_ClearBitState(uint32_t EXTI_LINE);
  94. TypeState EXTI_GetIntBitState(uint32_t EXTI_LINE);
  95. void EXTI_ClearIntBitState(uint32_t EXTI_LINE);
  96. #ifdef __cplusplus
  97. }
  98. #endif
  99. #endif /* __GD32F10X_EXTI_H */
  100. /**
  101. * @}
  102. */
  103. /**
  104. * @}
  105. */
  106. /**
  107. * @}
  108. */