21 #ifndef __STM32L4xx_HAL_GPIO_H 22 #define __STM32L4xx_HAL_GPIO_H 84 #define GPIO_PIN_0 ((uint16_t)0x0001) 85 #define GPIO_PIN_1 ((uint16_t)0x0002) 86 #define GPIO_PIN_2 ((uint16_t)0x0004) 87 #define GPIO_PIN_3 ((uint16_t)0x0008) 88 #define GPIO_PIN_4 ((uint16_t)0x0010) 89 #define GPIO_PIN_5 ((uint16_t)0x0020) 90 #define GPIO_PIN_6 ((uint16_t)0x0040) 91 #define GPIO_PIN_7 ((uint16_t)0x0080) 92 #define GPIO_PIN_8 ((uint16_t)0x0100) 93 #define GPIO_PIN_9 ((uint16_t)0x0200) 94 #define GPIO_PIN_10 ((uint16_t)0x0400) 95 #define GPIO_PIN_11 ((uint16_t)0x0800) 96 #define GPIO_PIN_12 ((uint16_t)0x1000) 97 #define GPIO_PIN_13 ((uint16_t)0x2000) 98 #define GPIO_PIN_14 ((uint16_t)0x4000) 99 #define GPIO_PIN_15 ((uint16_t)0x8000) 100 #define GPIO_PIN_All ((uint16_t)0xFFFF) 102 #define GPIO_PIN_MASK (0x0000FFFFu) 117 #define GPIO_MODE_INPUT (0x00000000u) 118 #define GPIO_MODE_OUTPUT_PP (0x00000001u) 119 #define GPIO_MODE_OUTPUT_OD (0x00000011u) 120 #define GPIO_MODE_AF_PP (0x00000002u) 121 #define GPIO_MODE_AF_OD (0x00000012u) 122 #define GPIO_MODE_ANALOG (0x00000003u) 123 #define GPIO_MODE_ANALOG_ADC_CONTROL (0x0000000Bu) 124 #define GPIO_MODE_IT_RISING (0x10110000u) 125 #define GPIO_MODE_IT_FALLING (0x10210000u) 126 #define GPIO_MODE_IT_RISING_FALLING (0x10310000u) 127 #define GPIO_MODE_EVT_RISING (0x10120000u) 128 #define GPIO_MODE_EVT_FALLING (0x10220000u) 129 #define GPIO_MODE_EVT_RISING_FALLING (0x10320000u) 138 #define GPIO_SPEED_FREQ_LOW (0x00000000u) 139 #define GPIO_SPEED_FREQ_MEDIUM (0x00000001u) 140 #define GPIO_SPEED_FREQ_HIGH (0x00000002u) 141 #define GPIO_SPEED_FREQ_VERY_HIGH (0x00000003u) 150 #define GPIO_NOPULL (0x00000000u) 151 #define GPIO_PULLUP (0x00000001u) 152 #define GPIO_PULLDOWN (0x00000002u) 172 #define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI->PR1 & (__EXTI_LINE__)) 180 #define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI->PR1 = (__EXTI_LINE__)) 188 #define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__) (EXTI->PR1 & (__EXTI_LINE__)) 196 #define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI->PR1 = (__EXTI_LINE__)) 204 #define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER1 |= (__EXTI_LINE__)) 214 #define IS_GPIO_PIN_ACTION(ACTION) (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET)) 216 #define IS_GPIO_PIN(__PIN__) ((((uint32_t)(__PIN__) & GPIO_PIN_MASK) != 0x00U) &&\ 217 (((uint32_t)(__PIN__) & ~GPIO_PIN_MASK) == 0x00U)) 219 #define IS_GPIO_MODE(__MODE__) (((__MODE__) == GPIO_MODE_INPUT) ||\ 220 ((__MODE__) == GPIO_MODE_OUTPUT_PP) ||\ 221 ((__MODE__) == GPIO_MODE_OUTPUT_OD) ||\ 222 ((__MODE__) == GPIO_MODE_AF_PP) ||\ 223 ((__MODE__) == GPIO_MODE_AF_OD) ||\ 224 ((__MODE__) == GPIO_MODE_IT_RISING) ||\ 225 ((__MODE__) == GPIO_MODE_IT_FALLING) ||\ 226 ((__MODE__) == GPIO_MODE_IT_RISING_FALLING) ||\ 227 ((__MODE__) == GPIO_MODE_EVT_RISING) ||\ 228 ((__MODE__) == GPIO_MODE_EVT_FALLING) ||\ 229 ((__MODE__) == GPIO_MODE_EVT_RISING_FALLING) ||\ 230 ((__MODE__) == GPIO_MODE_ANALOG) ||\ 231 ((__MODE__) == GPIO_MODE_ANALOG_ADC_CONTROL)) 233 #define IS_GPIO_SPEED(__SPEED__) (((__SPEED__) == GPIO_SPEED_FREQ_LOW) ||\ 234 ((__SPEED__) == GPIO_SPEED_FREQ_MEDIUM) ||\ 235 ((__SPEED__) == GPIO_SPEED_FREQ_HIGH) ||\ 236 ((__SPEED__) == GPIO_SPEED_FREQ_VERY_HIGH)) 238 #define IS_GPIO_PULL(__PULL__) (((__PULL__) == GPIO_NOPULL) ||\ 239 ((__PULL__) == GPIO_PULLUP) || \ 240 ((__PULL__) == GPIO_PULLDOWN)) 259 void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
272 void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Read the specified input port pin.
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
De-initialize the GPIOx peripheral registers to their default reset values.
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
Handle EXTI interrupt request.
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
EXTI line detection callback.
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
Set or clear the selected data port bit.
GPIO_PinState
GPIO Bit SET and Bit RESET enumeration.
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Lock GPIO Pins configuration registers.
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
Header file of GPIO HAL Extended module.
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Toggle the specified GPIO pin.