一文详解GPIO的输出配置

应用电子电路

899人已加入

描述

GPIO-2---GPIO的输出配置

引言:GPIO,即General purpose input output,通用输入输出端口,是可以根据实际使用场景需求来用软件来配置的引脚。需要注意的是,一款芯片的引脚分为其实分为很多域,比如仅为芯片供电的引脚群称为电源域,还有类似复位,地址配置等等称为逻辑域,还有原生支持I2C,SPI等等通讯的称为通讯域,搭建小系统用的引脚称为系统域。本节我们主要讲述不具有特定功能的GPIO域。(本节和下节是所有的GPIO配置类型,但有的芯片GPIO不全都支持,这类GPIO叫裁剪型GPIO,使用芯片时需要查看其Pin List,不能默认都是全功能的GPIO)

寄存器

图2-1:GPIO的一般结构

1.开漏输出模式

开漏输出模式为数字输出,可以输出引脚电平,高电平为高阻态,低电平接GND。处于开漏输出模式时,施密特触发器输入也会被激活,上下拉电阻被禁止,断开连接,对输入数据寄存器的读访问可得到IO状态,出现在IO引脚上的数据在每个APB2时钟被采样到输入数据寄存器。

I2C就是利用引脚高阻态的特性,I2C总线上挂多个从机,当从机不工作时输出高阻态,总线默认为高电平。

开漏输出模式时PMOS不工作,输出寄存器上的0会让NMOS导通,接地输出低电平,输出寄存器上的1会让NMOS关闭,此时引脚既不输出高电平也不输出低电平,为高阻态。所以输出数据寄存器可控制IO输出高阻态或者低电平。

寄存器

图2-2:开漏输出模式路径

2.推挽输出模式

推挽输出模式为数字输出,可以输出引脚电平,高电平接VDD,低电平接GND。处于推挽输出模式时,施密特触发器输入也会被激活,上下拉电阻被禁止,断开连接,对输出数据寄存器的读访问可得到最后一次写的值,出现在IO引脚上的数据在每个APB2时钟被采样到输入数据寄存器。

推挽输出模式双MOS管会以轮流的方式工作,输出寄存器上的0会让NMOS导通,输出低电平,输出寄存器上的1会让PMOS导通,输出高电平。

寄存器

图2-3:推挽输出模式路径

3.复用开漏输出

在复用开漏输出模式中,复用功能输出使能,输出寄存器无效,输出信号源来自片上外设,此时输出速度可配置,输入可用,通过输入数据寄存器可获取IO实际状态,但一般直接用外设的寄存器来获取该数据信号。

寄存器

图2-4:复用开漏输出模式路径

4.复用推挽输出

在复用推挽输出模式中,复用功能输出使能,输出寄存器无效,输出信号源来自片上外设,此时输出速度可配置,输入可用,通过输入数据寄存器可获取IO实际状态,但一般直接用外设的寄存器来获取该数据信号。

寄存器

图2-5:复用推挽输出模式路径

5.小结

在输出模式下可以控制端口的输出电平高低,比如用于驱动LED闪烁,控制蜂鸣器,配合输入模式可以模拟通信接口协议I2C,SPI等等。

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

全部0条评论

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

×
20
完善资料,
赚取积分