STM32F479xx HAL User Manual
Data Structures | Defines | Enumerations | Functions
stm32f4xx_hal_gpio.h File Reference

Header file of GPIO HAL module. More...

#include "stm32f4xx_hal_def.h"
#include "stm32f4xx_hal_gpio_ex.h"

Go to the source code of this file.

Data Structures

struct  GPIO_InitTypeDef
 GPIO Init structure definition. More...

Defines

#define GPIO_PIN_0   ((uint16_t)0x0001) /* Pin 0 selected */
#define GPIO_PIN_1   ((uint16_t)0x0002) /* Pin 1 selected */
#define GPIO_PIN_2   ((uint16_t)0x0004) /* Pin 2 selected */
#define GPIO_PIN_3   ((uint16_t)0x0008) /* Pin 3 selected */
#define GPIO_PIN_4   ((uint16_t)0x0010) /* Pin 4 selected */
#define GPIO_PIN_5   ((uint16_t)0x0020) /* Pin 5 selected */
#define GPIO_PIN_6   ((uint16_t)0x0040) /* Pin 6 selected */
#define GPIO_PIN_7   ((uint16_t)0x0080) /* Pin 7 selected */
#define GPIO_PIN_8   ((uint16_t)0x0100) /* Pin 8 selected */
#define GPIO_PIN_9   ((uint16_t)0x0200) /* Pin 9 selected */
#define GPIO_PIN_10   ((uint16_t)0x0400) /* Pin 10 selected */
#define GPIO_PIN_11   ((uint16_t)0x0800) /* Pin 11 selected */
#define GPIO_PIN_12   ((uint16_t)0x1000) /* Pin 12 selected */
#define GPIO_PIN_13   ((uint16_t)0x2000) /* Pin 13 selected */
#define GPIO_PIN_14   ((uint16_t)0x4000) /* Pin 14 selected */
#define GPIO_PIN_15   ((uint16_t)0x8000) /* Pin 15 selected */
#define GPIO_PIN_All   ((uint16_t)0xFFFF) /* All pins selected */
#define GPIO_PIN_MASK   0x0000FFFFU /* PIN mask for assert test */
#define GPIO_MODE_INPUT   MODE_INPUT
#define GPIO_MODE_OUTPUT_PP   (MODE_OUTPUT | OUTPUT_PP)
#define GPIO_MODE_OUTPUT_OD   (MODE_OUTPUT | OUTPUT_OD)
#define GPIO_MODE_AF_PP   (MODE_AF | OUTPUT_PP)
#define GPIO_MODE_AF_OD   (MODE_AF | OUTPUT_OD)
#define GPIO_MODE_ANALOG   MODE_ANALOG
#define GPIO_MODE_IT_RISING   (MODE_INPUT | EXTI_IT | TRIGGER_RISING)
#define GPIO_MODE_IT_FALLING   (MODE_INPUT | EXTI_IT | TRIGGER_FALLING)
#define GPIO_MODE_IT_RISING_FALLING   (MODE_INPUT | EXTI_IT | TRIGGER_RISING | TRIGGER_FALLING)
#define GPIO_MODE_EVT_RISING   (MODE_INPUT | EXTI_EVT | TRIGGER_RISING)
#define GPIO_MODE_EVT_FALLING   (MODE_INPUT | EXTI_EVT | TRIGGER_FALLING)
#define GPIO_MODE_EVT_RISING_FALLING   (MODE_INPUT | EXTI_EVT | TRIGGER_RISING | TRIGGER_FALLING)
#define GPIO_SPEED_FREQ_LOW   0x00000000U
#define GPIO_SPEED_FREQ_MEDIUM   0x00000001U
#define GPIO_SPEED_FREQ_HIGH   0x00000002U
#define GPIO_SPEED_FREQ_VERY_HIGH   0x00000003U
#define GPIO_NOPULL   0x00000000U
#define GPIO_PULLUP   0x00000001U
#define GPIO_PULLDOWN   0x00000002U
#define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__)   (EXTI->PR & (__EXTI_LINE__))
 Checks whether the specified EXTI line flag is set or not.
#define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__)   (EXTI->PR = (__EXTI_LINE__))
 Clears the EXTI's line pending flags.
#define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__)   (EXTI->PR & (__EXTI_LINE__))
 Checks whether the specified EXTI line is asserted or not.
#define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__)   (EXTI->PR = (__EXTI_LINE__))
 Clears the EXTI's line pending bits.
#define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__)   (EXTI->SWIER |= (__EXTI_LINE__))
 Generates a Software interrupt on selected EXTI line.
#define GPIO_MODE_Pos   0U
#define GPIO_MODE   (0x3UL << GPIO_MODE_Pos)
#define MODE_INPUT   (0x0UL << GPIO_MODE_Pos)
#define MODE_OUTPUT   (0x1UL << GPIO_MODE_Pos)
#define MODE_AF   (0x2UL << GPIO_MODE_Pos)
#define MODE_ANALOG   (0x3UL << GPIO_MODE_Pos)
#define OUTPUT_TYPE_Pos   4U
#define OUTPUT_TYPE   (0x1UL << OUTPUT_TYPE_Pos)
#define OUTPUT_PP   (0x0UL << OUTPUT_TYPE_Pos)
#define OUTPUT_OD   (0x1UL << OUTPUT_TYPE_Pos)
#define EXTI_MODE_Pos   16U
#define EXTI_MODE   (0x3UL << EXTI_MODE_Pos)
#define EXTI_IT   (0x1UL << EXTI_MODE_Pos)
#define EXTI_EVT   (0x2UL << EXTI_MODE_Pos)
#define TRIGGER_MODE_Pos   20U
#define TRIGGER_MODE   (0x7UL << TRIGGER_MODE_Pos)
#define TRIGGER_RISING   (0x1UL << TRIGGER_MODE_Pos)
#define TRIGGER_FALLING   (0x2UL << TRIGGER_MODE_Pos)
#define IS_GPIO_PIN_ACTION(ACTION)   (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET))
#define IS_GPIO_PIN(PIN)   (((((uint32_t)PIN) & GPIO_PIN_MASK ) != 0x00U) && ((((uint32_t)PIN) & ~GPIO_PIN_MASK) == 0x00U))
#define IS_GPIO_MODE(MODE)
#define IS_GPIO_SPEED(SPEED)
#define IS_GPIO_PULL(PULL)

Enumerations

enum  GPIO_PinState { GPIO_PIN_RESET = 0, GPIO_PIN_SET }
 GPIO Bit SET and Bit RESET enumeration. More...

Functions

void HAL_GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 Initializes the GPIOx peripheral according to the specified parameters in the GPIO_Init.
void HAL_GPIO_DeInit (GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
 De-initializes the GPIOx peripheral registers to their default reset values.
GPIO_PinState HAL_GPIO_ReadPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Reads the specified input port pin.
void HAL_GPIO_WritePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 Sets or clears the selected data port bit.
void HAL_GPIO_TogglePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Toggles the specified GPIO pins.
HAL_StatusTypeDef HAL_GPIO_LockPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 Locks GPIO Pins configuration registers.
void HAL_GPIO_EXTI_IRQHandler (uint16_t GPIO_Pin)
 This function handles EXTI interrupt request.
__weak void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)
 EXTI line detection callbacks.

Detailed Description

Header file of GPIO HAL module.

Author:
MCD Application Team
Attention:

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32f4xx_hal_gpio.h.