STM32的八种GPIO的工作模式以及其应用场景

STM32的GPIO(General-Purpose Input/Output,通用输入输出)端口可以配置为八种不同的工作模式,每种模式都有其特定的应用场景。GPIO有八种工作模式,分别是:

1. 上拉输入(Pull-Up Input)

  • 描述:在无外部输入的情况下,由于内部上拉电阻的存在,GPIO口默认为高电平
  • 应用场景:适用于需要默认高电平状态的场景,如按键检测(按键未按下时)、通信接口闲置状态保持等,不适合做电流型驱动。

2. 下拉输入(Pull-Down Input)

  • 描述:在无外部输入的情况下,由于内部下拉电阻的存在,GPIO口默认是低电平
  • 应用场景:适用于需要默认低电平状态的场景,如某些通信协议的闲置状态(如RS-485的REDE线),或者作为低电平有效的中断输入,不适合做电流型驱动。

3. 浮空输入(Floating Input)

  • 描述:GPIO的电平状态完全由外部输入决定,内部既无上拉也无下拉电阻。
  • 应用场景:适用于需要检测外部信号电平变化而无需特定电平偏置的场合,如按键检测(按键未按下时引脚呈高阻态)、外部信号握手(如中断请求信号)等。

4. 模拟输入(Analog Input)

  • 描述:输入信号不经施密特触发器直接接入,输入信号为模拟量而非数字量。
  • 应用场景DACADC会用到,当GPIO引脚作为ADC(模拟到数字转换器)通道输入时,如连接温度传感器、光照强度传感器、电压分压器等模拟信号源,通过ADC采集模拟信号并转化为数字值进行处理,也适用于低功耗下省电。

5. 推挽输出(Push-Pull Output)

  • 描述:可以输出高、低电平,连接数字器件。推挽结构由两个互补控制的三极管组成,一个导通时另一个截止。
  • 应用场景:适用于需要强驱动能力的场景(其驱动能力强,最大可达25mA,是通用输出)如直接驱动LED、继电器、小型电机等负载,以及与数字电路的常规电平信号交互。

6. 开漏输出(Open-Drain Output)

  • 描述:输出端相当于三极管的集电极,要得到高电平状态需要外部上拉电阻。
  • 应用场景:适用于需要双向通信或电流型驱动的场景,如I²C/SMBus总线通信、Open Drain中断输出等。此外,开漏输出还可以实现“线与”功能,多个开漏输出引脚连接到同一信号线上,任何一个引脚输出低电平即可使总线为低电平。

7. 复用推挽输出(Alternate Function Push-Pull Output)

  • 描述:在复用功能模式下,GPIO端口作为特殊功能(如UART、SPI、I²C等)的引脚,并采用推挽输出方式。
  • 应用场景:适用于需要高速串行通信的场景,如SPI的SCK、MOSI、MISO线,USART的TX、RX线等。推挽输出提供足够的驱动能力,确保在高速通信时信号质量。

8. 复用开漏输出(Alternate Function Open-Drain Output)

  • 描述:在复用功能模式下,GPIO端口作为特殊功能(片上外设功能,如硬件IIC的SDL、SCL等,SPI的NSS线、CAN的TX/RX线等)的引脚,并采用开漏输出方式。
  • 应用场景:类似于复用推挽输出,但适用于需要开漏输出特性的特殊功能场景。这些接口规范常常要求使用开漏输出,以确保与外部电路的兼容性和灵活性。
  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值