STM32八种IO口模式区别



在写文章之前备注一个创作小收获,TOC(Topic Of Content)是用于创建目录的语法



0. 输入输出框架图

alt 输入输出




1. 推挽输出

推挽输出
推挽电路是两个参数相同的三极管或者MOSFET,以推挽方式组合,各自负责正负半周期的波形放大任务,每周期只有一个导通,因此损耗小、效率高。

推拉式电路既可以向负载灌电流,也可以从负载拉电流,提高电路负载能力,提高开关速度。

关于灌电流和拉电流的详细讲解,参考下文:


灌电流和拉电流简介






2. 开漏输出

开漏输出
开漏输出电路如图所示,输出端相当于三极管的集电极,要输出高电平需要加上拉电阻,适合做电流型的驱动,吸收电流能力较强

Open Drain 漏极开漏
Open Collector 集电极开漏

开漏电路特点:

  • 利用外部电路驱动能力,驱动电流从外部VCC流经上拉电阻、BJT/MOSFET,GND,IC内部只需要很小的栅极/基极驱动电流,减小IC内部驱动。

  • 开漏引脚需要外部上拉电阻才能输出高电平,改变上拉电源电压可以改变传输电平。上拉电阻阻值决定逻辑电平转换沿速度,阻值越大速度越慢功耗越小,负载电阻阻值选择要兼顾功耗和速度

  • 开漏输出提供了灵活的输出方式,但缺点在于上升沿有延时。上升沿需要外接上拉电阻对负载充电,电阻小延时小、功耗大;反之延时大、功耗小。对延时有要求时需要下降沿输出

  • 可以讲多个开漏输出并行共用一只上拉电阻,构成线与。如果有一个引脚输出0,相对于接地,短路所有并联回路,整体逻辑电平为0,符合与逻辑。





3. 复用推挽/开漏输出

端口复用功能,在STM32芯片中很多片内外设的外部引脚与GPIO复用

复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)
复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO,SCK,SS)

复用端口初始化的步骤:

  • GPIO端口时钟使能
  • 复用外设时钟使能
  • 端口模式配置




4. 浮空输入

floating input,顾名思义,该输入口什么都不接,高阻态,电平处于不确定状态。

  • 用于标准的通讯协议,比如IIC、USART的等。

  • 用做按键检测等功能时,需外部使用上拉或下拉电阻。





5. 上拉/下拉输入

IO内部上拉电阻、下拉电阻实现,再经过施密特触发器转换成0、1信号,读取此时的引脚电平为高电平/低电平。

拓展 · 施密特触发器

采用电位触发方式,输入电压有两个阀值VL、VH,高于或低于阈值时状态都将反转。
设置两个阈值的好处在于可以防止噪声多次来回穿过临界电压时输出收到干扰,电平不稳定。


详情参考下文:


施密特触发器图解






6. 模拟输入

顾名思义,应用 ADC 模拟输入,或者低功耗下省电




参考与补充

  1. STM32的8种GPIO输入输出模式深入详解
  2. GPIO 口的输入,输出模式及其说明
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Chorgy

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值