20 #if defined(USE_FULL_LL_DRIVER)
24 #ifdef USE_FULL_ASSERT
27 #define assert_param(expr) ((void)0U)
48 #define IS_LL_EXTI_LINE_0_31(__VALUE__) (((__VALUE__) & ~LL_EXTI_LINE_ALL_0_31) == 0x00000000U)
50 #define IS_LL_EXTI_MODE(__VALUE__) (((__VALUE__) == LL_EXTI_MODE_IT) \
51 || ((__VALUE__) == LL_EXTI_MODE_EVENT) \
52 || ((__VALUE__) == LL_EXTI_MODE_IT_EVENT))
55 #define IS_LL_EXTI_TRIGGER(__VALUE__) (((__VALUE__) == LL_EXTI_TRIGGER_NONE) \
56 || ((__VALUE__) == LL_EXTI_TRIGGER_RISING) \
57 || ((__VALUE__) == LL_EXTI_TRIGGER_FALLING) \
58 || ((__VALUE__) == LL_EXTI_TRIGGER_RISING_FALLING))
81 uint32_t LL_EXTI_DeInit(
void)
84 LL_EXTI_WriteReg(IMR, 0x00000000U);
86 LL_EXTI_WriteReg(EMR, 0x00000000U);
88 LL_EXTI_WriteReg(RTSR, 0x00000000U);
90 LL_EXTI_WriteReg(FTSR, 0x00000000U);
92 LL_EXTI_WriteReg(SWIER, 0x00000000U);
94 LL_EXTI_WriteReg(PR, 0x000FFFFFU);
106 uint32_t LL_EXTI_Init(LL_EXTI_InitTypeDef *EXTI_InitStruct)
110 assert_param(IS_LL_EXTI_LINE_0_31(EXTI_InitStruct->Line_0_31));
115 if (EXTI_InitStruct->LineCommand !=
DISABLE)
117 assert_param(IS_LL_EXTI_TRIGGER(EXTI_InitStruct->Trigger));
120 if (EXTI_InitStruct->Line_0_31 != LL_EXTI_LINE_NONE)
122 switch (EXTI_InitStruct->Mode)
124 case LL_EXTI_MODE_IT:
126 LL_EXTI_DisableEvent_0_31(EXTI_InitStruct->Line_0_31);
128 LL_EXTI_EnableIT_0_31(EXTI_InitStruct->Line_0_31);
130 case LL_EXTI_MODE_EVENT:
132 LL_EXTI_DisableIT_0_31(EXTI_InitStruct->Line_0_31);
134 LL_EXTI_EnableEvent_0_31(EXTI_InitStruct->Line_0_31);
136 case LL_EXTI_MODE_IT_EVENT:
138 LL_EXTI_EnableIT_0_31(EXTI_InitStruct->Line_0_31);
139 LL_EXTI_EnableEvent_0_31(EXTI_InitStruct->Line_0_31);
145 if (EXTI_InitStruct->Trigger != LL_EXTI_TRIGGER_NONE)
147 switch (EXTI_InitStruct->Trigger)
149 case LL_EXTI_TRIGGER_RISING:
151 LL_EXTI_DisableFallingTrig_0_31(EXTI_InitStruct->Line_0_31);
153 LL_EXTI_EnableRisingTrig_0_31(EXTI_InitStruct->Line_0_31);
155 case LL_EXTI_TRIGGER_FALLING:
157 LL_EXTI_DisableRisingTrig_0_31(EXTI_InitStruct->Line_0_31);
159 LL_EXTI_EnableFallingTrig_0_31(EXTI_InitStruct->Line_0_31);
161 case LL_EXTI_TRIGGER_RISING_FALLING:
162 LL_EXTI_EnableRisingTrig_0_31(EXTI_InitStruct->Line_0_31);
163 LL_EXTI_EnableFallingTrig_0_31(EXTI_InitStruct->Line_0_31);
176 LL_EXTI_DisableIT_0_31(EXTI_InitStruct->Line_0_31);
177 LL_EXTI_DisableEvent_0_31(EXTI_InitStruct->Line_0_31);
187 void LL_EXTI_StructInit(LL_EXTI_InitTypeDef *EXTI_InitStruct)
189 EXTI_InitStruct->Line_0_31 = LL_EXTI_LINE_NONE;
190 EXTI_InitStruct->LineCommand =
DISABLE;
191 EXTI_InitStruct->Mode = LL_EXTI_MODE_IT;
192 EXTI_InitStruct->Trigger = LL_EXTI_TRIGGER_FALLING;