STM32GPIO引脚八种工作模式

1. GPIO简述

GPIO(General-purpose input/output),通用型输入输出。简单理解就是我们可以控制输入输出的STM32引脚,统称为GPIO。

GPIO存在的意义就是用程序控制或读取它们的输出或输入

2. 功能描述

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH),两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。根据数据手册中列出的每个I/O端口的特定硬件特征,GPIO端口的每个位可以由软件分别配置成多种模式。
这段话给大家翻译一下,简单说就是
  • 每个IO口(就是引脚)都有两个配置寄存器分别负责高16位和低16为就是H和L的区别:
    • GPIOx_CRL(x就是什么引脚  例如GPIOA) CRL 就是 LOW 控制低16位
    • GPIOx_CRH                                                    CRH 就是HIGH 控制高16为
  • 每个IO口(还是引脚)都有两个数据寄存器分别负责端口的输入输出
    • GPIOx_ODR  ODR的意思就是(Output Data Register) O就是Output 的意思负责输输出     当然 这里所谓的输出是引脚的输出  不是给引脚的输出

    • GPIOx_IDR    IDR的意思就是(Input Data Register) I就是input 的意思负责输输入              这里所谓的输入给是引脚的输入  不是引脚给的输出

3. GPIO的8种工作模式

  • 3.1 输入浮空(Input floating)

    当一个GPIO配置为输入浮空时,它既没有内部上拉电阻也没有内部下拉电阻连接到该引脚。这意味着在没有外部信号驱动的情况下,该引脚的状态是不确定的,可能会受到噪声的影响。

  • 3.2 输入上拉(Input pull-up)

    在这种配置中,当GPIO设置为输入时,内部会有一个上拉电阻将引脚电压拉高至电源电压(Vcc)。如果没有外部信号将其拉低,则该引脚将保持高电平状态。

  • 3.3 输入下拉(Input pull-down)

    与输入上拉相反,输入下拉会在GPIO配置为输入时使用内部下拉电阻将引脚电压拉低至地(GND)。如果没有外部信号将其拉高,则该引脚将保持低电平状态。

  • 3.4 模拟输入(Analog)

    模拟输入模式允许GPIO引脚用作模数转换器(ADC)的输入端口,用于读取模拟电压信号。这种模式通常禁用了数字输入功能。

  • 3.5 通用开漏输出(Output open-drain)

    在开漏输出模式下,当输出为低电平时,内部晶体管导通,将引脚拉低至地;而当输出为高电平时,内部晶体管关闭,引脚呈现高阻态。通常需要外加上拉电阻来实现高电平输出。

  • 3.6 通用推挽式输出(Output push-pull)

    推挽式输出模式下,GPIO可以驱动高电平或低电平。内部电路包含两个晶体管,一个用来拉高输出电压(推),另一个用来拉低输出电压(拉)。这种方式可以直接驱动负载而不需要额外的上拉或下拉电阻。

  • 3.7 推挽式复用功能(Alternate function push-pull)

    这是将GPIO配置为支持特定外围设备功能(如SPI、I²C等通信协议)的一种模式,并且采用推挽式的输出方式。这意味着引脚可以用于特殊的外设功能而不是普通的GPIO操作。

  • 3.8 开漏复用功能(Alternate function open-drain)

    与推挽式复用功能类似,但使用的是开漏输出方式。这意味着在执行特殊功能时,如I²C通信,需要外加上拉电阻以确保正确的逻辑电平。

每种配置模式都有其特定的应用场景和优势,在设计硬件和编写固件时选择合适的配置非常重要。

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值