GPIO四种输出模式介绍

描述

  输出模式下,可由芯片向外输出电平。例如点亮LED,就需要给LED提供高电平。

  GPIO_Mode_Out_OD 开漏输出

  当CPU输出逻辑0时,I/O端口输出低电平,而当CPU输出逻辑1时,该引脚处于开漏,也就是浮空状态(高阻态),如果想输出高电平则必须接入上拉电阻。同时IO口可以由外部电路改变为低电平或不变,即可读IO输入电平变化,实现了I/O端口的双向功能。简单来说,开漏输出只可以输出强低电平,高电平得靠外部电阻拉高。显然,这种输出方式就有一个优点,由于高电平完全由外部电阻控制,那此模式下的输出电平是可以通过改变电阻而改变的。

  此外,可以将多路开漏输出的引脚连接到一条线上,通过一个上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系,这也是I2C,SMBus,等总线判断总线占用状态的原理。

  主要应用:该模式适用于电平不匹配场合、适合做电流型的驱动,吸收电流能力比较强。

  GPIO_Mode_Out_PP 推挽输出

  输出具有驱动能力,当CPU输出逻辑0时,I/O端口输出低电平,而当CPU输出逻辑1时,I/O端口输出高电平。相当于可以给其他元件供电,并且可以直接通过逻辑语言0和1控制是否供电。

  主要应用:点灯以及其他所有需要直接提供高低电平的操作。

  GPIO_Mode_AF_OD 复用开漏输出

  当有多个不同的模块对应同一个引脚时,那这个GPIO就要使用复用功能,其他方面与开漏输出相同。即如果用在IC、SMBUS这些需要线与功能的复用场合,就使用复用开漏模式。

  主要应用:片内外设功能(TX1、MOSI、MISO.SCK.SS)

  GPIO_Mode_AF_PP 复用推挽输出

  和复用开漏输出同理,当某一个GPIO对应多个复用模块时,要用到复用功能。

  主要应用:片内外设功能(I2C的SCL、SDA)

  输入一般用浮空输入,如果要使引脚在悬空状态时电平确定就用上拉/下拉输入,如果要输入连续的模拟量就用模拟输入。

  输出一般用推挽输出,如果要调节输出的电平就用开漏输出,如果有端口复用的情况就用复用输出模式。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分