STM32L443xx HAL User Manual
Data Structures | Defines | Enumerations | Functions
stm32l4xx_hal_exti.h File Reference

Header file of EXTI HAL module. More...

#include "stm32l4xx_hal_def.h"

Go to the source code of this file.

Data Structures

struct  EXTI_HandleTypeDef
 EXTI Handle structure definition. More...
struct  EXTI_ConfigTypeDef
 EXTI Configuration structure definition. More...

Defines

#define EXTI_LINE_0   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x00u)
#define EXTI_LINE_1   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x01u)
#define EXTI_LINE_2   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x02u)
#define EXTI_LINE_3   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x03u)
#define EXTI_LINE_4   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x04u)
#define EXTI_LINE_5   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x05u)
#define EXTI_LINE_6   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x06u)
#define EXTI_LINE_7   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x07u)
#define EXTI_LINE_8   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x08u)
#define EXTI_LINE_9   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x09u)
#define EXTI_LINE_10   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Au)
#define EXTI_LINE_11   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Bu)
#define EXTI_LINE_12   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Cu)
#define EXTI_LINE_13   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Du)
#define EXTI_LINE_14   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Eu)
#define EXTI_LINE_15   (EXTI_GPIO | EXTI_REG1 | EXTI_EVENT | 0x0Fu)
#define EXTI_LINE_16   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x10u)
#define EXTI_LINE_17   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x11u)
#define EXTI_LINE_18   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x12u)
#define EXTI_LINE_19   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x13u)
#define EXTI_LINE_20   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x14u)
#define EXTI_LINE_21   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x15u)
#define EXTI_LINE_22   (EXTI_CONFIG | EXTI_REG1 | EXTI_EVENT | 0x16u)
#define EXTI_LINE_23   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x17u)
#define EXTI_LINE_24   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x18u)
#define EXTI_LINE_25   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x19u)
#define EXTI_LINE_26   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x1Au)
#define EXTI_LINE_27   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x1Bu)
#define EXTI_LINE_28   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x1Cu)
#define EXTI_LINE_29   (EXTI_RESERVED | EXTI_REG1 | 0x1Du)
#define EXTI_LINE_30   (EXTI_RESERVED | EXTI_REG1 | 0x1Eu)
#define EXTI_LINE_31   (EXTI_DIRECT | EXTI_REG1 | EXTI_EVENT | 0x1Fu)
#define EXTI_LINE_32   (EXTI_DIRECT | EXTI_REG2 | EXTI_EVENT | 0x00u)
#define EXTI_LINE_33   (EXTI_DIRECT | EXTI_REG2 | EXTI_EVENT | 0x01u)
#define EXTI_LINE_34   (EXTI_DIRECT | EXTI_REG2 | EXTI_EVENT | 0x02u)
#define EXTI_LINE_35   (EXTI_CONFIG | EXTI_REG2 | EXTI_EVENT | 0x03u)
#define EXTI_LINE_36   (EXTI_RESERVED | EXTI_REG2 | 0x04u)
#define EXTI_LINE_37   (EXTI_CONFIG | EXTI_REG2 | EXTI_EVENT | 0x05u)
#define EXTI_LINE_38   (EXTI_CONFIG | EXTI_REG2 | EXTI_EVENT | 0x06u)
#define EXTI_LINE_39   (EXTI_DIRECT | EXTI_REG2 | EXTI_EVENT | 0x07u)
#define EXTI_LINE_40   (EXTI_RESERVED | EXTI_REG2 | 0x08u)
#define EXTI_MODE_NONE   0x00000000u
#define EXTI_MODE_INTERRUPT   0x00000001u
#define EXTI_MODE_EVENT   0x00000002u
#define EXTI_TRIGGER_NONE   0x00000000u
#define EXTI_TRIGGER_RISING   0x00000001u
#define EXTI_TRIGGER_FALLING   0x00000002u
#define EXTI_TRIGGER_RISING_FALLING   (EXTI_TRIGGER_RISING | EXTI_TRIGGER_FALLING)
#define EXTI_GPIOA   0x00000000u
#define EXTI_GPIOB   0x00000001u
#define EXTI_GPIOC   0x00000002u
#define EXTI_GPIOD   0x00000003u
#define EXTI_GPIOE   0x00000004u
#define EXTI_GPIOF   0x00000005u
#define EXTI_GPIOG   0x00000005u
#define EXTI_GPIOH   0x00000007u
#define EXTI_GPIOI   0x00000008u
#define EXTI_PROPERTY_SHIFT   24u
 EXTI Line property definition.
#define EXTI_DIRECT   (0x01uL << EXTI_PROPERTY_SHIFT)
#define EXTI_CONFIG   (0x02uL << EXTI_PROPERTY_SHIFT)
#define EXTI_GPIO   ((0x04uL << EXTI_PROPERTY_SHIFT) | EXTI_CONFIG)
#define EXTI_RESERVED   (0x08uL << EXTI_PROPERTY_SHIFT)
#define EXTI_PROPERTY_MASK   (EXTI_DIRECT | EXTI_CONFIG | EXTI_GPIO)
#define EXTI_EVENT_PRESENCE_SHIFT   28u
 EXTI Event presence definition.
#define EXTI_EVENT   (0x01uL << EXTI_EVENT_PRESENCE_SHIFT)
#define EXTI_EVENT_PRESENCE_MASK   (EXTI_EVENT)
#define EXTI_REG_SHIFT   16u
 EXTI Register and bit usage.
#define EXTI_REG1   (0x00uL << EXTI_REG_SHIFT)
#define EXTI_REG2   (0x01uL << EXTI_REG_SHIFT)
#define EXTI_REG_MASK   (EXTI_REG1 | EXTI_REG2)
#define EXTI_PIN_MASK   0x0000001Fu
#define EXTI_MODE_MASK   (EXTI_MODE_EVENT | EXTI_MODE_INTERRUPT)
 EXTI Mask for interrupt & event mode.
#define EXTI_TRIGGER_MASK   (EXTI_TRIGGER_RISING | EXTI_TRIGGER_FALLING)
 EXTI Mask for trigger possibilities.
#define EXTI_LINE_NB   41u
 EXTI Line number.
#define IS_EXTI_LINE(__EXTI_LINE__)
#define IS_EXTI_MODE(__EXTI_LINE__)
#define IS_EXTI_TRIGGER(__EXTI_LINE__)   (((__EXTI_LINE__) & ~EXTI_TRIGGER_MASK) == 0x00u)
#define IS_EXTI_PENDING_EDGE(__EXTI_LINE__)   ((__EXTI_LINE__) == EXTI_TRIGGER_RISING_FALLING)
#define IS_EXTI_CONFIG_LINE(__EXTI_LINE__)   (((__EXTI_LINE__) & EXTI_CONFIG) != 0x00u)
#define IS_EXTI_GPIO_PORT(__PORT__)
#define IS_EXTI_GPIO_PIN(__PIN__)   ((__PIN__) < 16u)

Enumerations

enum  EXTI_CallbackIDTypeDef { HAL_EXTI_COMMON_CB_ID = 0x00U, HAL_EXTI_RISING_CB_ID = 0x01U, HAL_EXTI_FALLING_CB_ID = 0x02U }

Functions

HAL_StatusTypeDef HAL_EXTI_SetConfigLine (EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
 Set configuration of a dedicated Exti line.
HAL_StatusTypeDef HAL_EXTI_GetConfigLine (EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
 Get configuration of a dedicated Exti line.
HAL_StatusTypeDef HAL_EXTI_ClearConfigLine (EXTI_HandleTypeDef *hexti)
 Clear whole 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_GetHandle (EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
 Store line number as handle private field.
void HAL_EXTI_IRQHandler (EXTI_HandleTypeDef *hexti)
 Handle EXTI interrupt request.
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.
void HAL_EXTI_GenerateSWI (EXTI_HandleTypeDef *hexti)
 Generate a software interrupt for a dedicated line.

Detailed Description

Header file of EXTI HAL module.

Author:
MCD Application Team
Attention:

Copyright (c) 2018 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32l4xx_hal_exti.h.