20 #ifndef __STM32F4xx_LL_EXTI_H
21 #define __STM32F4xx_LL_EXTI_H
28 #include "stm32f4xx.h"
44 #if defined(USE_FULL_LL_DRIVER)
53 #if defined(USE_FULL_LL_DRIVER)
86 #define LL_EXTI_LINE_0 EXTI_IMR_IM0
87 #define LL_EXTI_LINE_1 EXTI_IMR_IM1
88 #define LL_EXTI_LINE_2 EXTI_IMR_IM2
89 #define LL_EXTI_LINE_3 EXTI_IMR_IM3
90 #define LL_EXTI_LINE_4 EXTI_IMR_IM4
91 #define LL_EXTI_LINE_5 EXTI_IMR_IM5
92 #define LL_EXTI_LINE_6 EXTI_IMR_IM6
93 #define LL_EXTI_LINE_7 EXTI_IMR_IM7
94 #define LL_EXTI_LINE_8 EXTI_IMR_IM8
95 #define LL_EXTI_LINE_9 EXTI_IMR_IM9
96 #define LL_EXTI_LINE_10 EXTI_IMR_IM10
97 #define LL_EXTI_LINE_11 EXTI_IMR_IM11
98 #define LL_EXTI_LINE_12 EXTI_IMR_IM12
99 #define LL_EXTI_LINE_13 EXTI_IMR_IM13
100 #define LL_EXTI_LINE_14 EXTI_IMR_IM14
101 #define LL_EXTI_LINE_15 EXTI_IMR_IM15
102 #if defined(EXTI_IMR_IM16)
103 #define LL_EXTI_LINE_16 EXTI_IMR_IM16
105 #define LL_EXTI_LINE_17 EXTI_IMR_IM17
106 #if defined(EXTI_IMR_IM18)
107 #define LL_EXTI_LINE_18 EXTI_IMR_IM18
109 #define LL_EXTI_LINE_19 EXTI_IMR_IM19
110 #if defined(EXTI_IMR_IM20)
111 #define LL_EXTI_LINE_20 EXTI_IMR_IM20
113 #if defined(EXTI_IMR_IM21)
114 #define LL_EXTI_LINE_21 EXTI_IMR_IM21
116 #if defined(EXTI_IMR_IM22)
117 #define LL_EXTI_LINE_22 EXTI_IMR_IM22
119 #if defined(EXTI_IMR_IM23)
120 #define LL_EXTI_LINE_23 EXTI_IMR_IM23
122 #if defined(EXTI_IMR_IM24)
123 #define LL_EXTI_LINE_24 EXTI_IMR_IM24
125 #if defined(EXTI_IMR_IM25)
126 #define LL_EXTI_LINE_25 EXTI_IMR_IM25
128 #if defined(EXTI_IMR_IM26)
129 #define LL_EXTI_LINE_26 EXTI_IMR_IM26
131 #if defined(EXTI_IMR_IM27)
132 #define LL_EXTI_LINE_27 EXTI_IMR_IM27
134 #if defined(EXTI_IMR_IM28)
135 #define LL_EXTI_LINE_28 EXTI_IMR_IM28
137 #if defined(EXTI_IMR_IM29)
138 #define LL_EXTI_LINE_29 EXTI_IMR_IM29
140 #if defined(EXTI_IMR_IM30)
141 #define LL_EXTI_LINE_30 EXTI_IMR_IM30
143 #if defined(EXTI_IMR_IM31)
144 #define LL_EXTI_LINE_31 EXTI_IMR_IM31
146 #define LL_EXTI_LINE_ALL_0_31 EXTI_IMR_IM
149 #define LL_EXTI_LINE_ALL ((uint32_t)0xFFFFFFFFU)
151 #if defined(USE_FULL_LL_DRIVER)
152 #define LL_EXTI_LINE_NONE ((uint32_t)0x00000000U)
158 #if defined(USE_FULL_LL_DRIVER)
163 #define LL_EXTI_MODE_IT ((uint8_t)0x00U)
164 #define LL_EXTI_MODE_EVENT ((uint8_t)0x01U)
165 #define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x02U)
173 #define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U)
174 #define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U)
175 #define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U)
176 #define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U)
205 #define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__))
212 #define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__)
270 SET_BIT(EXTI->IMR, ExtiLine);
311 CLEAR_BIT(EXTI->IMR, ExtiLine);
353 return (READ_BIT(EXTI->IMR, ExtiLine) == (ExtiLine));
400 SET_BIT(EXTI->EMR, ExtiLine);
440 CLEAR_BIT(EXTI->EMR, ExtiLine);
479 return (READ_BIT(EXTI->EMR, ExtiLine) == (ExtiLine));
531 SET_BIT(EXTI->RTSR, ExtiLine);
575 CLEAR_BIT(EXTI->RTSR, ExtiLine);
612 return (READ_BIT(EXTI->RTSR, ExtiLine) == (ExtiLine));
663 SET_BIT(EXTI->FTSR, ExtiLine);
705 CLEAR_BIT(EXTI->FTSR, ExtiLine);
741 return (READ_BIT(EXTI->FTSR, ExtiLine) == (ExtiLine));
790 SET_BIT(EXTI->SWIER, ExtiLine);
836 return (READ_BIT(EXTI->PR, ExtiLine) == (ExtiLine));
874 return (uint32_t)(READ_BIT(EXTI->PR, ExtiLine));
912 WRITE_REG(EXTI->PR, ExtiLine);
920 #if defined(USE_FULL_LL_DRIVER)
__STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
Enable ExtiLine Event request for Lines in range 0 to 31 @rmtoll EMR EMx LL_EXTI_EnableEvent_0_31.
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_0_31(uint32_t ExtiLine)
Indicate if ExtiLine Event request is enabled for Lines in range 0 to 31 @rmtoll EMR EMx LL_EXTI_IsEn...
__STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
Disable ExtiLine Event request for Lines in range 0 to 31 @rmtoll EMR EMx LL_EXTI_DisableEvent_0_31.
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
Check if falling edge trigger is enabled for Lines in range 0 to 31 @rmtoll FTSR FTx LL_EXTI_IsEnable...
__STATIC_INLINE void LL_EXTI_DisableFallingTrig_0_31(uint32_t ExtiLine)
Disable ExtiLine Falling Edge Trigger for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_EnableFallingTrig_0_31(uint32_t ExtiLine)
Enable ExtiLine Falling Edge Trigger for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_ClearFlag_0_31(uint32_t ExtiLine)
Clear ExtLine Flags for Lines in range 0 to 31.
__STATIC_INLINE uint32_t LL_EXTI_IsActiveFlag_0_31(uint32_t ExtiLine)
Check if the ExtLine Flag is set or not for Lines in range 0 to 31.
__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_0_31(uint32_t ExtiLine)
Read ExtLine Combination Flag for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
Enable ExtiLine Interrupt request for Lines in range 0 to 31.
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledIT_0_31(uint32_t ExtiLine)
Indicate if ExtiLine Interrupt request is enabled for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
Disable ExtiLine Interrupt request for Lines in range 0 to 31.
uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct)
Initialize the EXTI registers according to the specified parameters in EXTI_InitStruct.
uint32_t LL_EXTI_DeInit(void)
De-initialize the EXTI registers to their default reset values.
void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct)
Set each LL_EXTI_InitTypeDef field to default value.
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_0_31(uint32_t ExtiLine)
Check if rising edge trigger is enabled for Lines in range 0 to 31 @rmtoll RTSR RTx LL_EXTI_IsEnabled...
__STATIC_INLINE void LL_EXTI_DisableRisingTrig_0_31(uint32_t ExtiLine)
Disable ExtiLine Rising Edge Trigger for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_GenerateSWI_0_31(uint32_t ExtiLine)
Generate a software Interrupt Event for Lines in range 0 to 31.
FunctionalState LineCommand