21 #ifndef STM32F1xx_HAL_GPIO_H 22 #define STM32F1xx_HAL_GPIO_H 83 #define GPIO_PIN_0 ((uint16_t)0x0001) 84 #define GPIO_PIN_1 ((uint16_t)0x0002) 85 #define GPIO_PIN_2 ((uint16_t)0x0004) 86 #define GPIO_PIN_3 ((uint16_t)0x0008) 87 #define GPIO_PIN_4 ((uint16_t)0x0010) 88 #define GPIO_PIN_5 ((uint16_t)0x0020) 89 #define GPIO_PIN_6 ((uint16_t)0x0040) 90 #define GPIO_PIN_7 ((uint16_t)0x0080) 91 #define GPIO_PIN_8 ((uint16_t)0x0100) 92 #define GPIO_PIN_9 ((uint16_t)0x0200) 93 #define GPIO_PIN_10 ((uint16_t)0x0400) 94 #define GPIO_PIN_11 ((uint16_t)0x0800) 95 #define GPIO_PIN_12 ((uint16_t)0x1000) 96 #define GPIO_PIN_13 ((uint16_t)0x2000) 97 #define GPIO_PIN_14 ((uint16_t)0x4000) 98 #define GPIO_PIN_15 ((uint16_t)0x8000) 99 #define GPIO_PIN_All ((uint16_t)0xFFFF) 101 #define GPIO_PIN_MASK 0x0000FFFFu 116 #define GPIO_MODE_INPUT 0x00000000u 117 #define GPIO_MODE_OUTPUT_PP 0x00000001u 118 #define GPIO_MODE_OUTPUT_OD 0x00000011u 119 #define GPIO_MODE_AF_PP 0x00000002u 120 #define GPIO_MODE_AF_OD 0x00000012u 121 #define GPIO_MODE_AF_INPUT GPIO_MODE_INPUT 123 #define GPIO_MODE_ANALOG 0x00000003u 125 #define GPIO_MODE_IT_RISING 0x10110000u 126 #define GPIO_MODE_IT_FALLING 0x10210000u 127 #define GPIO_MODE_IT_RISING_FALLING 0x10310000u 129 #define GPIO_MODE_EVT_RISING 0x10120000u 130 #define GPIO_MODE_EVT_FALLING 0x10220000u 131 #define GPIO_MODE_EVT_RISING_FALLING 0x10320000u 141 #define GPIO_SPEED_FREQ_LOW (GPIO_CRL_MODE0_1) 142 #define GPIO_SPEED_FREQ_MEDIUM (GPIO_CRL_MODE0_0) 143 #define GPIO_SPEED_FREQ_HIGH (GPIO_CRL_MODE0) 153 #define GPIO_NOPULL 0x00000000u 154 #define GPIO_PULLUP 0x00000001u 155 #define GPIO_PULLDOWN 0x00000002u 175 #define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI->PR & (__EXTI_LINE__)) 183 #define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI->PR = (__EXTI_LINE__)) 191 #define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__) (EXTI->PR & (__EXTI_LINE__)) 199 #define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI->PR = (__EXTI_LINE__)) 207 #define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER |= (__EXTI_LINE__)) 225 void HAL_GPIO_DeInit(
GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);
234 GPIO_PinState HAL_GPIO_ReadPin(
GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
235 void HAL_GPIO_WritePin(
GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
236 void HAL_GPIO_TogglePin(
GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);
238 void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
239 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
263 #define IS_GPIO_PIN_ACTION(ACTION) (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET)) 264 #define IS_GPIO_PIN(PIN) (((((uint32_t)PIN) & GPIO_PIN_MASK ) != 0x00u) && ((((uint32_t)PIN) & ~GPIO_PIN_MASK) == 0x00u)) 265 #define IS_GPIO_MODE(MODE) (((MODE) == GPIO_MODE_INPUT) ||\ 266 ((MODE) == GPIO_MODE_OUTPUT_PP) ||\ 267 ((MODE) == GPIO_MODE_OUTPUT_OD) ||\ 268 ((MODE) == GPIO_MODE_AF_PP) ||\ 269 ((MODE) == GPIO_MODE_AF_OD) ||\ 270 ((MODE) == GPIO_MODE_IT_RISING) ||\ 271 ((MODE) == GPIO_MODE_IT_FALLING) ||\ 272 ((MODE) == GPIO_MODE_IT_RISING_FALLING) ||\ 273 ((MODE) == GPIO_MODE_EVT_RISING) ||\ 274 ((MODE) == GPIO_MODE_EVT_FALLING) ||\ 275 ((MODE) == GPIO_MODE_EVT_RISING_FALLING) ||\ 276 ((MODE) == GPIO_MODE_ANALOG)) 277 #define IS_GPIO_SPEED(SPEED) (((SPEED) == GPIO_SPEED_FREQ_LOW) || \ 278 ((SPEED) == GPIO_SPEED_FREQ_MEDIUM) || ((SPEED) == GPIO_SPEED_FREQ_HIGH)) 279 #define IS_GPIO_PULL(PULL) (((PULL) == GPIO_NOPULL) || ((PULL) == GPIO_PULLUP) || \ 280 ((PULL) == GPIO_PULLDOWN)) This file contains HAL common defines, enumeration, macros and structures definitions.
GPIO_PinState
GPIO Bit SET and Bit RESET enumeration.
Definition: stm32f1xx_hal_gpio.h:65
uint32_t Pin
Definition: stm32f1xx_hal_gpio.h:49
General Purpose I/O.
Definition: stm32f103xb.h:358
GPIO Init structure definition.
Definition: stm32f1xx_hal_gpio.h:47
uint32_t Pull
Definition: stm32f1xx_hal_gpio.h:55
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f1xx_hal_def.h:39
Header file of GPIO HAL Extension module.
uint32_t Mode
Definition: stm32f1xx_hal_gpio.h:52
uint32_t Speed
Definition: stm32f1xx_hal_gpio.h:58