STM32G474xx HAL用户手册
定义 | 函数
stm32g4xx_hal_gpio.c 文件参考

GPIO HAL模块驱动程序。本文件提供固件函数来管理通用输入/输出(GPIO)外设的以下功能: + 初始化和去初始化函数 + IO操作函数。 更多...

#include "stm32g4xx_hal.h"

转到此文件的源代码。

定义

#define GPIO_NUMBER   (16U)

函数

void HAL_GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
 根据GPIO_Init中指定的参数初始化GPIOx外设。
void HAL_GPIO_DeInit (GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
 将GPIOx外设寄存器去初始化为默认复位值。
GPIO_PinState HAL_GPIO_ReadPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 读取指定的输入端口引脚。
void HAL_GPIO_WritePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
 设置或清除选定的数据端口位。
void HAL_GPIO_TogglePin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 切换指定的GPIO引脚。
HAL_StatusTypeDef HAL_GPIO_LockPin (GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
 锁定GPIO引脚配置寄存器。
void HAL_GPIO_EXTI_IRQHandler (uint16_t GPIO_Pin)
 处理EXTI中断请求。
__weak void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)
 EXTI线路检测回调函数。

详细说明

GPIO HAL模块驱动程序。本文件提供固件函数来管理通用输入/输出(GPIO)外设的以下功能: + 初始化和去初始化函数 + IO操作函数。

作者:
MCD应用团队
注意:

版权所有(c)2019 STMicroelectronics。保留所有权利。

本软件根据LICENSE文件中规定的条款进行许可。如果本软件不附带LICENSE文件,则按"原样"提供。

  ==============================================================================
                    ##### GPIO外设特性 #####
  ==============================================================================
  [..]
    (+) GPIO端口的每一位都可以通过软件单独配置为以下模式:
        (++) 输入模式
        (++) 模拟模式
        (++) 输出模式
        (++) 复用功能模式
        (++) 外部中断/事件线路

    (+) 在复位期间和复位后,复用功能和外部中断线路处于未激活状态,IO端口配置为输入浮空模式。

    (+) 所有GPIO引脚都具有弱内部上拉和下拉电阻,可以激活或不激活。

    (+) 在输出或复用功能模式下,每个IO可以配置为开漏或推挽类型,并且IO速度可以根据VDD值进行选择。

    (+) 微控制器的IO引脚通过多路复用器连接到板载外设/模块,该多路复用器只允许一个外设复用功能(AF)连接到
       一个IO引脚。这样,同一个IO引脚上的外设之间就不会有冲突。

    (+) 所有端口都具有外部中断/事件能力。要使用外部中断线路,端口必须配置为输入模式。所有可用的GPIO引脚都
       连接到16条外部中断/事件线路(从EXTI0到EXTI15)。

    (+) 外部中断/事件控制器由多达44个边沿检测器组成(16条线路连接到GPIO),用于生成事件/中断请求(每条输入线路
       可以独立配置以选择类型(中断或事件)以及相应的触发事件(上升沿、下降沿或两者))。每条线路也可以独立屏蔽。

                     ##### 如何使用此驱动程序 #####
  ==============================================================================
  [..]
    (#) 使用以下函数启用GPIO AHB时钟:__HAL_RCC_GPIOx_CLK_ENABLE()。

    (#) 使用HAL_GPIO_Init()配置GPIO引脚。
        (++) 使用GPIO_InitTypeDef结构中的"Mode"成员配置IO模式
        (++) 使用GPIO_InitTypeDef结构中的"Pull"成员激活上拉、下拉电阻。
        (++) 在选择输出或复用功能模式时:通过GPIO_InitTypeDef结构中的"Speed"成员配置速度。
        (++) 在选择复用功能模式时:通过GPIO_InitTypeDef结构中的"Alternate"成员配置连接到IO的复用功能。
        (++) 当引脚用作ADC通道或DAC输出时需要模拟模式。
        (++) 在选择外部中断/事件时:使用GPIO_InitTypeDef结构中的"Mode"成员选择类型(中断或事件)
             和相应的触发事件(上升沿、下降沿或两者)。

    (#) 在选择外部中断/事件模式时,使用HAL_NVIC_SetPriority()配置映射到EXTI线路的NVIC IRQ优先级,
        并使用HAL_NVIC_EnableIRQ()启用它。

    (#) 要获取配置为输入模式的引脚电平,请使用HAL_GPIO_ReadPin()。

    (#) 要设置/重置配置为输出模式的引脚电平,请使用
        HAL_GPIO_WritePin()/HAL_GPIO_TogglePin()。

   (#) 要锁定引脚配置直到下次复位,请使用HAL_GPIO_LockPin()。

    (#) 在复位期间和复位后,复用功能处于未激活状态,GPIO引脚配置为输入浮空模式(JTAG引脚除外)。

    (#) LSE振荡器引脚OSC32_IN和OSC32_OUT可以在LSE振荡器关闭时用作通用功能
        (分别为PC14和PC15)。LSE优先于GPIO功能。

    (#) HSE振荡器引脚OSC_IN/OSC_OUT可以在HSE振荡器关闭时用作
        通用功能PF0和PF1。HSE优先于GPIO功能。

  

定义于文件stm32g4xx_hal_gpio.c