STM32-GPIO基础与配置

STM32微控制器系列提供了多种GPIO模式,允许你根据应用的需求配置GPIO引脚的功能。以下是一些常见的STM32 GPIO模式:

  1. 输入模式 (Input Mode):

    • 浮空输入 (Floating Input):GPIO引脚作为输入,stm32没有内部上拉或下拉电阻,需要外部电路提供上下拉电阻。
    • 上拉输入 (Pull-Up Input):在上拉输入模式下,GPIO引脚内部会有一个上拉电阻。当端口处于空闲时为高电平。
    • 下拉输入 (Pull-Down Input):GPIO引脚作为输入,具有内部下拉电阻,可以连接到外部电路,以便输入信号在未连接时被拉低。则端口空闲时为低电平。
  2. 输出模式 (Output Mode):

    • 推挽输出 (Push-Pull Output):可以输出高电平或低电平。输出0/1。
    • 开漏输出 (Open-Drain Output):只能输出低电平。只能输出0。
  3. 复用功能模式 (Alternate Function Mode)(哪些端口具有复用功能需要查看芯片手册):
    一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。例如串口1 的发送接收引脚是PA9,PA10,当我们把PA9,PA10不用作GPIO,而用做复用功能串口1的发送接收引脚的时候,叫端口复用。在此情况下,我们就需要用复用功能模式。

    • 复用推挽输出 (Alternate Function Push-Pull Output):可以用于输出定时器、串口通信等信号。
    • 复用开漏输出 (Alternate Function Open-Drain Output):可以用于输出定时器、串口通信等信号。
    • 复用上拉输入 (Alternate Function Pull-Up Input):可以用于输入外部信号,具有内部上拉电阻。
    • 复用下拉输入 (Alternate Function Pull-Down Input):可以用于输入外部信号,具有内部下拉电阻。
  4. 模拟模式 (Analog Mode):

    • 模拟输入 (Analog Input):GPIO引脚用于连接模拟传感器或其他模拟信号。
    • 模拟输出 (Analog Output):GPIO引脚用于输出模拟信号。
  5. 中断模式 (Interrupt Mode):

    • 上升沿触发中断 (Interrupt on Rising Edge):端口产生上升沿时触发中断。
    • 下降沿触发中断 (Interrupt on Falling Edge):端口产生下降沿时触发中断。
    • 上升/下降沿都触发中断 (Interrupt on Rising/Falling Edge):GPIO引脚配置为触发上升沿或下降沿时产生中断。

串口USRAT :
TX–复用推挽输出模式
RX–浮空输入模式

IIC: (要注意 I2C 的引脚必须使用这种模式。)
SDA–复用开漏输出。
SCL–复用开漏输出