STM32G474xx HAL 用户手册
数据结构 | 宏定义 | 枚举 | 函数
stm32g4xx_hal_gpio.h 文件参考

GPIO HAL 模块的头文件。 更多...

#include "stm32g4xx_hal_def.h"
#include "stm32g4xx_hal_gpio_ex.h"

转到此文件的源代码。

数据结构

struct  GPIO_InitTypeDef
 GPIO 初始化结构体定义。 更多...

宏定义

#define GPIO_PIN_0   ((uint16_t)0x0001) /* 选择引脚 0 */
#define GPIO_PIN_1   ((uint16_t)0x0002) /* 选择引脚 1 */
#define GPIO_PIN_2   ((uint16_t)0x0004) /* 选择引脚 2 */
#define GPIO_PIN_3   ((uint16_t)0x0008) /* 选择引脚 3 */
#define GPIO_PIN_4   ((uint16_t)0x0010) /* 选择引脚 4 */
#define GPIO_PIN_5   ((uint16_t)0x0020) /* 选择引脚 5 */
#define GPIO_PIN_6   ((uint16_t)0x0040) /* 选择引脚 6 */
#define GPIO_PIN_7   ((uint16_t)0x0080) /* 选择引脚 7 */
#define GPIO_PIN_8   ((uint16_t)0x0100) /* 选择引脚 8 */
#define GPIO_PIN_9   ((uint16_t)0x0200) /* 选择引脚 9 */
#define GPIO_PIN_10   ((uint16_t)0x0400) /* 选择引脚 10 */
#define GPIO_PIN_11   ((uint16_t)0x0800) /* 选择引脚 11 */
#define GPIO_PIN_12   ((uint16_t)0x1000) /* 选择引脚 12 */
#define GPIO_PIN_13   ((uint16_t)0x2000) /* 选择引脚 13 */
#define GPIO_PIN_14   ((uint16_t)0x4000) /* 选择引脚 14 */
#define GPIO_PIN_15   ((uint16_t)0x8000) /* 选择引脚 15 */
#define GPIO_PIN_All   ((uint16_t)0xFFFF) /* 选择所有引脚 */
#define GPIO_PIN_MASK   (0x0000FFFFU) /* 用于断言测试的引脚掩码 */
#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->PR1 & (__EXTI_LINE__))
 检查指定的 EXTI 线标志是否置位。
#define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__)   (EXTI->PR1 = (__EXTI_LINE__))
 清除 EXTI 线挂起标志。
#define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__)   (EXTI->PR1 & (__EXTI_LINE__))
 检查指定的 EXTI 线是否被触发。
#define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__)   (EXTI->PR1 = (__EXTI_LINE__))
 清除 EXTI 线挂起位。
#define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__)   (EXTI->SWIER1 |= (__EXTI_LINE__))
 在选定的 EXTI 线上生成软件中断。
#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