【STM32基础学习】八种GPIO模式总结

八种IO模式再现

(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

解释速查
  • 浮空输入_IN_FLOATING

    • 浮空输入,通常用作KEY识别
  • 带上拉输入_IPU

    • IO内部上拉电阻输入,默认电平是高
  • 带下拉输入_IPD

    • IO内部下拉电阻输入,默认电平是低。
  • 模拟输入_AIN

    • 通常用作ADC模拟输入
  • 开漏输出_OUT_OD

    • IO输出0 - GND,IO输出1 - 悬空(高阻态),需要外接上拉电阻,才能实现输出高电平。
    • 可以读IO输入电平变化
    • 开漏也可以用来连接不同电平的器件,匹配电平用的,具体实现方法就是上拉不同阻值的电阻然后接相应的电平。
  • 推挽输出_OUT_PP

    • 可做到真正的高低电平,且具有大的驱动能力。(拉灌电流能力强)IO输出0-GND, IO输出1 -VCC
  • 复用功能的推挽输出_AF_PP

    • 片内外设功能(I2C的SCL,SDA)
  • 复用功能的开漏输出_AF_OD

    • 片内外设功能(TX1,MOSI,MISO.SCK.SS)

所谓的复用:STM32的其他片上外设对GPIO引脚进行控制,此时GPIO引脚用作该外设功能的一部分,算作第二功能。

比如USART通信,把某个GPIO配置为USART串口复用功能,由串口外设控制该引脚,进行输入输出数据。


STM32的GPIO模式总结:

1、输入模式 (模拟,浮空,上拉,下拉)下,输出被禁止

2、输出模式(推挽、开漏)下,输入仍然可用

3、复用功能(推挽、开漏)下,输出寄存器(比如ODR)无效输出源来自其他片内外设,输入仍然可用!


STM32的GPIO模式习惯用法:

RXD/按键,配置为浮空输入

ADC,配置为模拟输入

蜂鸣器与 LED ,配置为推挽输出

DHT11/模拟I2C,配置为开漏输出

TXD(USART属于片上外设) ,配置为复用推挽输出


参考

《STM32库开发实战指南 - 基于STM32F103 第二版》

另外一篇博客

正点原子一个提问

一个很好的资料链接:https://pan.baidu.com/s/16uAtBMX-Da5f8CMcUzhZTQ (提取码:rynt)

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReCclay

如果觉得不错,不妨请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值