RTEMS 6.1-rc2
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
stm32h7xx_hal_exti.h File Reference

Header file of EXTI HAL module. More...

#include "stm32h7xx_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...
 

Macros

#define EXTI_LINE_0   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x00U)
 
#define EXTI_LINE_1   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x01U)
 
#define EXTI_LINE_2   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x02U)
 
#define EXTI_LINE_3   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x03U)
 
#define EXTI_LINE_4   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x04U)
 
#define EXTI_LINE_5   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x05U)
 
#define EXTI_LINE_6   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x06U)
 
#define EXTI_LINE_7   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x07U)
 
#define EXTI_LINE_8   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x08U)
 
#define EXTI_LINE_9   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x09U)
 
#define EXTI_LINE_10   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0AU)
 
#define EXTI_LINE_11   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0BU)
 
#define EXTI_LINE_12   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0CU)
 
#define EXTI_LINE_13   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0DU)
 
#define EXTI_LINE_14   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0EU)
 
#define EXTI_LINE_15   (EXTI_GPIO | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x0FU)
 
#define EXTI_LINE_16   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x10U)
 
#define EXTI_LINE_17   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x11U)
 
#define EXTI_LINE_18   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x12U)
 
#define EXTI_LINE_19   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x13U)
 
#define EXTI_LINE_20   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x14U)
 
#define EXTI_LINE_21   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x15U)
 
#define EXTI_LINE_22   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x16U)
 
#define EXTI_LINE_23   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x17U)
 
#define EXTI_LINE_24   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x18U)
 
#define EXTI_LINE_25   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL | 0x19U)
 
#define EXTI_LINE_26   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1AU)
 
#define EXTI_LINE_27   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1BU)
 
#define EXTI_LINE_28   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1CU)
 
#define EXTI_LINE_29   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1DU)
 
#define EXTI_LINE_30   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1EU)
 
#define EXTI_LINE_31   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG1 | EXTI_TARGET_MSK_ALL_CPU | 0x1FU)
 
#define EXTI_LINE_32   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x00U)
 
#define EXTI_LINE_33   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x01U)
 
#define EXTI_LINE_34   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x02U)
 
#define EXTI_LINE_35   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x03U)
 
#define EXTI_LINE_36   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x04U)
 
#define EXTI_LINE_37   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x05U)
 
#define EXTI_LINE_38   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x06U)
 
#define EXTI_LINE_39   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x07U)
 
#define EXTI_LINE_40   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x08U)
 
#define EXTI_LINE_41   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x09U)
 
#define EXTI_LINE_42   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x0AU)
 
#define EXTI_LINE_43   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x0BU)
 
#define EXTI_LINE_44   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_NONE | 0x0CU)
 
#define EXTI_LINE_45   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_NONE | 0x0DU)
 
#define EXTI_LINE_46   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_NONE | 0x0EU)
 
#define EXTI_LINE_47   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x0FU)
 
#define EXTI_LINE_48   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x10U)
 
#define EXTI_LINE_49   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x11U)
 
#define EXTI_LINE_50   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x12U)
 
#define EXTI_LINE_51   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL | 0x13U)
 
#define EXTI_LINE_52   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x14U)
 
#define EXTI_LINE_53   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x15U)
 
#define EXTI_LINE_54   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x16U)
 
#define EXTI_LINE_55   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x17U)
 
#define EXTI_LINE_56   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x18U)
 
#define EXTI_LINE_57   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_NONE | 0x19U)
 
#define EXTI_LINE_58   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x1AU)
 
#define EXTI_LINE_59   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_NONE | 0x1BU)
 
#define EXTI_LINE_60   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x1CU)
 
#define EXTI_LINE_61   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x1DU)
 
#define EXTI_LINE_62   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x1EU)
 
#define EXTI_LINE_63   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG2 | EXTI_TARGET_MSK_ALL_CPU | 0x1FU)
 
#define EXTI_LINE_64   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x00U)
 
#define EXTI_LINE_65   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x01U)
 
#define EXTI_LINE_66   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x02U)
 
#define EXTI_LINE_67   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x03U)
 
#define EXTI_LINE_68   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x04U)
 
#define EXTI_LINE_69   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x05U)
 
#define EXTI_LINE_70   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x06U)
 
#define EXTI_LINE_71   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x07U)
 
#define EXTI_LINE_72   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x08U)
 
#define EXTI_LINE_73   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x09U)
 
#define EXTI_LINE_74   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x0AU)
 
#define EXTI_LINE_75   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE | 0x0BU)
 
#define EXTI_LINE_76   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE | 0x0CU)
 
#define EXTI_LINE_77   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x0DU)
 
#define EXTI_LINE_78   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x0EU)
 
#define EXTI_LINE_79   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x0FU)
 
#define EXTI_LINE_80   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x10U)
 
#define EXTI_LINE_81   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x11U)
 
#define EXTI_LINE_82   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x12U)
 
#define EXTI_LINE_83   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x13U)
 
#define EXTI_LINE_84   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x14U)
 
#define EXTI_LINE_85   (EXTI_CONFIG | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x15U)
 
#define EXTI_LINE_86   (EXTI_RESERVED | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_NONE| 0x16U)
 
#define EXTI_LINE_87   (EXTI_DIRECT | EXTI_EVENT | EXTI_REG3 | EXTI_TARGET_MSK_ALL_CPU | 0x17U)
 
#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   0x00000006U
 
#define EXTI_GPIOH   0x00000007U
 
#define EXTI_GPIOJ   0x00000009U
 
#define EXTI_GPIOK   0x0000000AU
 
#define EXTI_D3_PENDCLR_SRC_NONE   0x00000000U
 
#define EXTI_D3_PENDCLR_SRC_DMACH6   0x00000001U
 
#define EXTI_D3_PENDCLR_SRC_DMACH7   0x00000002U
 
#define EXTI_D3_PENDCLR_SRC_LPTIM2   0x00000003U
 
#define EXTI_D3_PENDCLR_SRC_LPTIM3   0x00000004U
 
#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_REG3   (0x02UL << EXTI_REG_SHIFT)
 
#define EXTI_REG_MASK   (EXTI_REG1 | EXTI_REG2 | EXTI_REG3)
 
#define EXTI_PIN_MASK   0x0000001FUL
 
#define EXTI_TARGET_SHIFT   20U
 EXTI Target and bit usage.
 
#define EXTI_TARGET_MSK_NONE   (0x00UL << EXTI_TARGET_SHIFT)
 
#define EXTI_TARGET_MSK_D3SRD   (0x01UL << EXTI_TARGET_SHIFT)
 
#define EXTI_TARGET_MSK_CPU1   (0x02UL << EXTI_TARGET_SHIFT)
 
#define EXTI_TARGET_MASK   (EXTI_TARGET_MSK_D3SRD | EXTI_TARGET_MSK_CPU1)
 
#define EXTI_TARGET_MSK_ALL_CPU   EXTI_TARGET_MSK_CPU1
 
#define EXTI_TARGET_MSK_ALL   EXTI_TARGET_MASK
 
#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   88UL
 EXTI Line number.
 
#define IS_EXTI_PROPERTY(__EXTI_LINE__)
 
#define IS_EXTI_TARGET(__EXTI_LINE__)
 
#define IS_EXTI_LINE(__EXTI_LINE__)
 
#define IS_EXTI_MODE(__MODE__)   (((__MODE__) & ~EXTI_MODE_MASK) == 0x00UL)
 
#define IS_EXTI_TRIGGER(__EXTI_LINE__)   (((__EXTI_LINE__) & ~EXTI_TRIGGER_MASK) == 0x00UL)
 
#define IS_EXTI_PENDING_EDGE(__EXTI_LINE__)
 
#define IS_EXTI_CONFIG_LINE(__EXTI_LINE__)   (((__EXTI_LINE__) & EXTI_CONFIG) != 0x00UL)
 
#define IS_EXTI_GPIO_PORT(__PORT__)
 
#define IS_EXTI_GPIO_PIN(__PIN__)   ((__PIN__) < 16UL)
 
#define IS_EXTI_D3_PENDCLR_SRC(__SRC__)
 

Enumerations

enum  EXTI_CallbackIDTypeDef { HAL_EXTI_COMMON_CB_ID = 0x00U }
 

Functions

HAL_StatusTypeDef HAL_EXTI_SetConfigLine (EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
 
HAL_StatusTypeDef HAL_EXTI_GetConfigLine (EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig)
 
HAL_StatusTypeDef HAL_EXTI_ClearConfigLine (EXTI_HandleTypeDef *hexti)
 
HAL_StatusTypeDef HAL_EXTI_RegisterCallback (EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef CallbackID, void(*pPendingCbfn)(void))
 
HAL_StatusTypeDef HAL_EXTI_GetHandle (EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
 
void HAL_EXTI_IRQHandler (EXTI_HandleTypeDef *hexti)
 
uint32_t HAL_EXTI_GetPending (EXTI_HandleTypeDef *hexti, uint32_t Edge)
 
void HAL_EXTI_ClearPending (EXTI_HandleTypeDef *hexti, uint32_t Edge)
 
void HAL_EXTI_GenerateSWI (EXTI_HandleTypeDef *hexti)
 

Detailed Description

Header file of EXTI HAL module.

Author
MCD Application Team
Attention

Copyright (c) 2017 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.