103#ifdef HAL_EXTI_MODULE_ENABLED
149 if ((hexti == NULL) || (pExtiConfig == NULL))
163 maskline = (1uL << linepos);
174 EXTI->RTSR |= maskline;
178 EXTI->RTSR &= ~maskline;
185 EXTI->FTSR |= maskline;
189 EXTI->FTSR &= ~maskline;
199 regval = SYSCFG->EXTICR[linepos >> 2u];
200 regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
201 regval |= (pExtiConfig->
GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
202 SYSCFG->EXTICR[linepos >> 2u] = regval;
210 EXTI->IMR |= maskline;
214 EXTI->IMR &= ~maskline;
221 EXTI->EMR |= maskline;
225 EXTI->EMR &= ~maskline;
244 if ((hexti == NULL) || (pExtiConfig == NULL))
257 maskline = (1uL << linepos);
262 if ((EXTI->IMR & maskline) != 0x00u)
273 if ((EXTI->EMR & maskline) != 0x00u)
286 if ((EXTI->RTSR & maskline) != 0x00u)
293 if ((EXTI->FTSR & maskline) != 0x00u)
303 regval = SYSCFG->EXTICR[linepos >> 2u];
304 pExtiConfig->
GPIOSel = (regval >> (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u))) & SYSCFG_EXTICR1_EXTI0;
333 maskline = (1uL << linepos);
336 EXTI->IMR = (EXTI->IMR & ~maskline);
339 EXTI->EMR = (EXTI->EMR & ~maskline);
344 EXTI->RTSR = (EXTI->RTSR & ~maskline);
345 EXTI->FTSR = (EXTI->FTSR & ~maskline);
352 regval = SYSCFG->EXTICR[linepos >> 2u];
353 regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
354 SYSCFG->EXTICR[linepos >> 2u] = regval;
407 hexti->
Line = ExtiLine;
443 regval = (EXTI->PR & maskline);
482 maskline = (1uL << linepos);
485 regval = ((EXTI->PR & maskline) >> linepos);
534 EXTI->SWIER = maskline;
HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
Set configuration of a dedicated Exti line.
HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
Store line number as handle private field.
HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
Get configuration of a dedicated Exti line.
HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef CallbackID, void(*pPendingCbfn)(void))
Register callback for a dedicated Exti line.
HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
Clear whole configuration of a dedicated Exti line.
void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
Handle EXTI interrupt request.
void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
Generate a software interrupt for a dedicated line.
uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
Get interrupt pending bit of a dedicated line.
void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
Clear interrupt pending bit of a dedicated line.
#define EXTI_MODE_INTERRUPT
#define EXTI_PIN_MASK
EXTI bit usage.
#define IS_EXTI_CONFIG_LINE(__EXTI_LINE__)
#define IS_EXTI_GPIO_PIN(__PIN__)
#define IS_EXTI_GPIO_PORT(__PORT__)
#define IS_EXTI_PENDING_EDGE(__EXTI_LINE__)
#define IS_EXTI_MODE(__EXTI_LINE__)
#define IS_EXTI_TRIGGER(__EXTI_LINE__)
#define IS_EXTI_LINE(__EXTI_LINE__)
#define EXTI_TRIGGER_RISING
#define EXTI_TRIGGER_FALLING
#define EXTI_TRIGGER_NONE
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef
HAL Status structures definition
EXTI Configuration structure definition.
EXTI Handle structure definition.
void(* PendingCallback)(void)