GPIO的8种工作模式详解

GPIO的8种工作模式详解

  • 1.GPIO浮空输入_IN_FLOATING模式工作原
  • 2.GPIO带上拉输入_IPU 模式工作原理
  • 3.GPIO带下拉输入_IPD 模式工作原理
  • 4.GPIO模拟输入_AIN 模式工作原理
  • 5.GPIO开漏输出_OUT_OD 模式工作原理
  • 6.GPIO推挽输出_OUT_PP模式工作原理
  • 7.GPIO开漏复用输出_AF_OD模式工作原理
  • 8.GPIO推挽复用输出_AF_PP模式工作原理

GPIO的8种工作模式详解

浮空输入_IN_FLOATING
带上拉输入_IPU
带下拉输入_IPD
模拟输入_AIN
开漏输出_OUT_OD
推挽输出_OUT_PP
开漏复用输出_AF_OD
推挽复用输出_AF_PP

4输入 + 2 输出 + 2 复用输出,一共是8种模式,以下是八种模式的工作原理:

1.GPIO浮空输入_IN_FLOATING模式工作原

GPIO的8种工作模式详解

上图是STM32的GPIO带上拉输入模式的原理图。

与前面介绍的浮空输入模式相比,仅仅是在数据通道上面,接入了一个上拉电阻,根据STM32的数据手册,这个上拉电阻阻值介于30K~50K 欧姆。同样,CPU可以随时在“输入数据寄存器”的另一端,通过内部的数据总线读出I/O 端口的电平变化的状态。

3.GPIO带下拉输入_IPD 模式工作原理

GPIO的8种工作模式详解

如果把STM32配置为模拟输入模式时,工作原理就比较简单了,信号从左边编号为1 的端口进从右边编号为2的一端直接进入STM32单片机的AD模块。

细心的朋友可以看到数据通道中上拉、下拉电阻和施密特触发器,这时均处于关断的状态,“输入数据寄存器”就不能反映IO端口上的电平变化的状态了,换句话说,也就是在模拟输入状态下,CPU不能通过“输入数据寄存器”读到IO端口变化的数据了。

以上分析的是GPIO模块IO引脚的输入模式的工作原理,下面介绍一下GPIO输出模式的工作原理

5.GPIO开漏输出_OUT_OD 模式工作原理

GPIO的8种工作模式详解

GPIO的推挽输出模式是在开漏输出模式的基础上,在“输出控制电路”之后,增加了一个P-MOS管

当CPU输出逻辑“1 ”时,编号3 处的P-MOS管导通,而下方的N-MOS管截止,达到输出高电平的目的

当CPU输出逻辑“0 ”时,编号3 处的P-MOS管截止,而下方的N-MOS管导通,达到输出低电平的目的

在这个模式下,CPU 仍然可以从“输入数据寄存器”读到该IO端口电压变化的信号

7.GPIO开漏复用输出_AF_OD模式工作原理

GPIO的8种工作模式详解

最后介绍一下GPIO推挽复用输出模式的工作原理

编号2“输出控制电路” 输入是与复用功能的输出端相连

此时“输出数据寄存器”被从输出通道断开了,片上外设的输出信号直接与“输出控制电路”的输入端想连接。

我们将GPIO配置成复用输出功能后,假如相应的外设模块没有被激活,那么此时IO端口的输出将不确定。

来源:LzChang

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月15日
下一篇 2020年7月15日

相关推荐