21 #ifndef __STM32L4xx_LL_EXTI_H 22 #define __STM32L4xx_LL_EXTI_H 29 #include "stm32l4xx.h" 45 #if defined(USE_FULL_LL_DRIVER) 54 #if defined(USE_FULL_LL_DRIVER) 90 #define LL_EXTI_LINE_0 EXTI_IMR1_IM0 91 #define LL_EXTI_LINE_1 EXTI_IMR1_IM1 92 #define LL_EXTI_LINE_2 EXTI_IMR1_IM2 93 #define LL_EXTI_LINE_3 EXTI_IMR1_IM3 94 #define LL_EXTI_LINE_4 EXTI_IMR1_IM4 95 #define LL_EXTI_LINE_5 EXTI_IMR1_IM5 96 #define LL_EXTI_LINE_6 EXTI_IMR1_IM6 97 #define LL_EXTI_LINE_7 EXTI_IMR1_IM7 98 #define LL_EXTI_LINE_8 EXTI_IMR1_IM8 99 #define LL_EXTI_LINE_9 EXTI_IMR1_IM9 100 #define LL_EXTI_LINE_10 EXTI_IMR1_IM10 101 #define LL_EXTI_LINE_11 EXTI_IMR1_IM11 102 #define LL_EXTI_LINE_12 EXTI_IMR1_IM12 103 #define LL_EXTI_LINE_13 EXTI_IMR1_IM13 104 #define LL_EXTI_LINE_14 EXTI_IMR1_IM14 105 #define LL_EXTI_LINE_15 EXTI_IMR1_IM15 106 #if defined(EXTI_IMR1_IM16) 107 #define LL_EXTI_LINE_16 EXTI_IMR1_IM16 109 #define LL_EXTI_LINE_17 EXTI_IMR1_IM17 110 #if defined(EXTI_IMR1_IM18) 111 #define LL_EXTI_LINE_18 EXTI_IMR1_IM18 113 #define LL_EXTI_LINE_19 EXTI_IMR1_IM19 114 #if defined(EXTI_IMR1_IM20) 115 #define LL_EXTI_LINE_20 EXTI_IMR1_IM20 117 #if defined(EXTI_IMR1_IM21) 118 #define LL_EXTI_LINE_21 EXTI_IMR1_IM21 120 #if defined(EXTI_IMR1_IM22) 121 #define LL_EXTI_LINE_22 EXTI_IMR1_IM22 123 #define LL_EXTI_LINE_23 EXTI_IMR1_IM23 124 #if defined(EXTI_IMR1_IM24) 125 #define LL_EXTI_LINE_24 EXTI_IMR1_IM24 127 #if defined(EXTI_IMR1_IM25) 128 #define LL_EXTI_LINE_25 EXTI_IMR1_IM25 130 #if defined(EXTI_IMR1_IM26) 131 #define LL_EXTI_LINE_26 EXTI_IMR1_IM26 133 #if defined(EXTI_IMR1_IM27) 134 #define LL_EXTI_LINE_27 EXTI_IMR1_IM27 136 #if defined(EXTI_IMR1_IM28) 137 #define LL_EXTI_LINE_28 EXTI_IMR1_IM28 139 #if defined(EXTI_IMR1_IM29) 140 #define LL_EXTI_LINE_29 EXTI_IMR1_IM29 142 #if defined(EXTI_IMR1_IM30) 143 #define LL_EXTI_LINE_30 EXTI_IMR1_IM30 145 #if defined(EXTI_IMR1_IM31) 146 #define LL_EXTI_LINE_31 EXTI_IMR1_IM31 148 #define LL_EXTI_LINE_ALL_0_31 EXTI_IMR1_IM 150 #define LL_EXTI_LINE_32 EXTI_IMR2_IM32 151 #if defined(EXTI_IMR2_IM33) 152 #define LL_EXTI_LINE_33 EXTI_IMR2_IM33 154 #if defined(EXTI_IMR2_IM34) 155 #define LL_EXTI_LINE_34 EXTI_IMR2_IM34 157 #if defined(EXTI_IMR2_IM35) 158 #define LL_EXTI_LINE_35 EXTI_IMR2_IM35 160 #if defined(EXTI_IMR2_IM36) 161 #define LL_EXTI_LINE_36 EXTI_IMR2_IM36 163 #if defined(EXTI_IMR2_IM37) 164 #define LL_EXTI_LINE_37 EXTI_IMR2_IM37 166 #if defined(EXTI_IMR2_IM38) 167 #define LL_EXTI_LINE_38 EXTI_IMR2_IM38 169 #if defined(EXTI_IMR2_IM39) 170 #define LL_EXTI_LINE_39 EXTI_IMR2_IM39 172 #if defined(EXTI_IMR2_IM40) 173 #define LL_EXTI_LINE_40 EXTI_IMR2_IM40 175 #define LL_EXTI_LINE_ALL_32_63 EXTI_IMR2_IM 178 #define LL_EXTI_LINE_ALL (0xFFFFFFFFU) 180 #if defined(USE_FULL_LL_DRIVER) 181 #define LL_EXTI_LINE_NONE (0x00000000U) 189 #if defined(USE_FULL_LL_DRIVER) 194 #define LL_EXTI_MODE_IT ((uint8_t)0x00U) 195 #define LL_EXTI_MODE_EVENT ((uint8_t)0x01U) 196 #define LL_EXTI_MODE_IT_EVENT ((uint8_t)0x02U) 204 #define LL_EXTI_TRIGGER_NONE ((uint8_t)0x00U) 205 #define LL_EXTI_TRIGGER_RISING ((uint8_t)0x01U) 206 #define LL_EXTI_TRIGGER_FALLING ((uint8_t)0x02U) 207 #define LL_EXTI_TRIGGER_RISING_FALLING ((uint8_t)0x03U) 236 #define LL_EXTI_WriteReg(__REG__, __VALUE__) WRITE_REG(EXTI->__REG__, (__VALUE__)) 243 #define LL_EXTI_ReadReg(__REG__) READ_REG(EXTI->__REG__) 308 SET_BIT(EXTI->IMR1, ExtiLine);
332 SET_BIT(EXTI->IMR2, ExtiLine);
453 return ((READ_BIT(EXTI->IMR1, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
478 return ((READ_BIT(EXTI->IMR2, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
531 SET_BIT(EXTI->EMR1, ExtiLine);
554 SET_BIT(EXTI->EMR2, ExtiLine);
666 return ((READ_BIT(EXTI->EMR1, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
689 return ((READ_BIT(EXTI->EMR2, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
741 SET_BIT(EXTI->RTSR1, ExtiLine);
763 SET_BIT(EXTI->RTSR2, ExtiLine);
867 return ((READ_BIT(EXTI->RTSR1, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
882 return ((READ_BIT(EXTI->RTSR2, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
934 SET_BIT(EXTI->FTSR1, ExtiLine);
956 SET_BIT(EXTI->FTSR2, ExtiLine);
1057 return ((READ_BIT(EXTI->FTSR1, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
1072 return ((READ_BIT(EXTI->FTSR2, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
1122 SET_BIT(EXTI->SWIER1, ExtiLine);
1142 SET_BIT(EXTI->SWIER2, ExtiLine);
1189 return ((READ_BIT(EXTI->PR1, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
1206 return ((READ_BIT(EXTI->PR2, ExtiLine) == (ExtiLine)) ? 1UL : 0UL);
1245 return (uint32_t)(READ_BIT(EXTI->PR1, ExtiLine));
1262 return (uint32_t)(READ_BIT(EXTI->PR2, ExtiLine));
1301 WRITE_REG(EXTI->PR1, ExtiLine);
1318 WRITE_REG(EXTI->PR2, ExtiLine);
1326 #if defined(USE_FULL_LL_DRIVER) __STATIC_INLINE uint32_t LL_EXTI_IsEnabledEvent_32_63(uint32_t ExtiLine)
Indicate if ExtiLine Event request is enabled for Lines in range 32 to 63 EMR2 EMx LL_EXTI_IsEnabled...
__STATIC_INLINE void LL_EXTI_DisableEvent_0_31(uint32_t ExtiLine)
Disable ExtiLine Event request for Lines in range 0 to 31 EMR1 EMx LL_EXTI_DisableEvent_0_31.
__STATIC_INLINE void LL_EXTI_DisableRisingTrig_32_63(uint32_t ExtiLine)
Disable ExtiLine Rising Edge Trigger for Lines in range 32 to 63.
__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_DisableEvent_32_63(uint32_t ExtiLine)
Disable ExtiLine Event request for Lines in range 32 to 63 EMR2 EMx LL_EXTI_DisableEvent_32_63.
__STATIC_INLINE void LL_EXTI_EnableRisingTrig_0_31(uint32_t ExtiLine)
Enable ExtiLine Rising Edge Trigger for Lines in range 0 to 31.
uint32_t LL_EXTI_DeInit(void)
De-initialize the EXTI registers to their default reset values.
__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 EMR1 EMx LL_EXTI_IsEnabledE...
__STATIC_INLINE uint32_t LL_EXTI_ReadFlag_32_63(uint32_t ExtiLine)
Read ExtLine Combination Flag for Lines in range 32 to 63.
__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_32_63(uint32_t ExtiLine)
Check if the ExtLine Flag is set or not for Lines in range 32 to 63.
__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 void LL_EXTI_DisableFallingTrig_32_63(uint32_t ExtiLine)
Disable ExtiLine Falling Edge Trigger for Lines in range 32 to 63.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledFallingTrig_32_63(uint32_t ExtiLine)
Check if falling edge trigger is enabled for Lines in range 32 to 63 FTSR2 FTx LL_EXTI_IsEnabledFall...
__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.
uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct)
Initialize the EXTI registers according to the specified parameters in EXTI_InitStruct.
__STATIC_INLINE void LL_EXTI_EnableEvent_0_31(uint32_t ExtiLine)
Enable ExtiLine Event request for Lines in range 0 to 31 EMR1 EMx LL_EXTI_EnableEvent_0_31.
__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 uint32_t LL_EXTI_IsEnabledIT_32_63(uint32_t ExtiLine)
Indicate if ExtiLine Interrupt request is enabled for Lines in range 32 to 63.
__STATIC_INLINE uint32_t LL_EXTI_IsEnabledRisingTrig_32_63(uint32_t ExtiLine)
Check if rising edge trigger is enabled for Lines in range 32 to 63 RTSR2 RTx LL_EXTI_IsEnabledRisin...
__STATIC_INLINE void LL_EXTI_DisableIT_0_31(uint32_t ExtiLine)
Disable ExtiLine Interrupt request for Lines in range 0 to 31.
__STATIC_INLINE void LL_EXTI_GenerateSWI_32_63(uint32_t ExtiLine)
Generate a software Interrupt Event for Lines in range 32 to 63.
__STATIC_INLINE void LL_EXTI_EnableIT_0_31(uint32_t ExtiLine)
Enable ExtiLine Interrupt request 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.
__STATIC_INLINE void LL_EXTI_EnableEvent_32_63(uint32_t ExtiLine)
Enable ExtiLine Event request for Lines in range 32 to 63 EMR2 EMx LL_EXTI_EnableEvent_32_63.
__STATIC_INLINE void LL_EXTI_EnableFallingTrig_32_63(uint32_t ExtiLine)
Enable ExtiLine Falling Edge Trigger for Lines in range 32 to 63.
__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 RTSR1 RTx LL_EXTI_IsEnabledRising...
__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 uint32_t LL_EXTI_IsEnabledFallingTrig_0_31(uint32_t ExtiLine)
Check if falling edge trigger is enabled for Lines in range 0 to 31 FTSR1 FTx LL_EXTI_IsEnabledFalli...
__STATIC_INLINE void LL_EXTI_EnableIT_32_63(uint32_t ExtiLine)
Enable ExtiLine Interrupt request for Lines in range 32 to 63.
__STATIC_INLINE void LL_EXTI_EnableRisingTrig_32_63(uint32_t ExtiLine)
Enable ExtiLine Rising Edge Trigger for Lines in range 32 to 63.
FunctionalState LineCommand
__STATIC_INLINE void LL_EXTI_DisableIT_32_63(uint32_t ExtiLine)
Disable ExtiLine Interrupt request for Lines in range 32 to 63.
void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct)
Set each LL_EXTI_InitTypeDef field to default value.
__STATIC_INLINE void LL_EXTI_ClearFlag_32_63(uint32_t ExtiLine)
Clear ExtLine Flags for Lines in range 32 to 63.