GPIO输入输出模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GPIO输入输出模式相关的知识,希望对你有一定的参考价值。
参考技术A 1.浮空输入_IN_FLOATING浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果该引脚在悬空状态下,读取该端口的电平状态是不确定的。
2.上拉输入_IPU
在浮空输入的基础上加了上拉电阻,防止输入端悬空,减少外部电流对芯片的干扰,默认状态为高电平。
3.下拉输入_IPD
在浮空输入的基础上加了下拉电阻,防止输入端悬空,减少外部电流对芯片的干扰,默认状态为低电平。
4.模拟输入_AIN
模拟输入状态下,信号直接进入AD采集寄存器,从输入数据寄存器是读不到电平变化的。
5.开漏输出_OUT_OD
CPU在编号1处写入数据,如果写入的是逻辑1,则编号3的N-MOS管处于关闭状态,端口输出的电平由外部上拉电阻决定;如果写入的是逻辑0,则编号3的N-MOS管处于开启状态,编号3的电平被拉到了零电平。
在输入部分,施密特触发器处于开启状态,可以通过输入数据寄存器监控IO端口的输出状态,根据这个特性,可以实现虚拟IO端口的双向通信。
芯片内部输出部分有多个响应速度不同的驱动电路可以选择,有2MHz、10MHz、50MHz;通过选择不同速度的驱动电路,达到噪声控制和降低功耗的目的,高频驱动噪声高,低频驱动信号易失真。
适合电流型驱动,电流20mA以内。
6.推挽输出_OUT_PP
推挽输出在开漏输出的基础上加了P-MOS管,当输出逻辑1时,编号3处P-MOS管导通,N-MOS管截止,达到输出高电平,当输出0时,编号3处P-MOS管截止,N-MOS管截止,达到输出低电平。
该模式下也可在输入寄存器读到端口电压变化信号。
7.开漏复用输出_AF_OD
开漏复用输出和开漏输出基本一样,只是在数据的输入源不是输出数据寄存器,而是来自其他地方。
8.推挽复用输出_AF_PP
推挽复用输出和推挽输出区别就是输出的数据不是来自输出数据寄存器,而是来自其他外设,如果外设未被配置激活,则IO端口的输出信号无法确定。
STM32 GPIO输入输出模式的理解
四种输出模式:
1、推挽输出
所谓推挽输出模式是根据两个MOS管的工作方式命名的。
功能:推挽输出可输出高电平,可输出低电平。
应用:一般应用在输出电平为VSS和VDD,而且需要高速切换开关状态的场合。在STM32的应用中,除必须使用开漏模式的场合,我们都使用推挽输出模式。
2、推挽复用模式
应用于内容来自STM32片上外设。即GPIO被用作复用功能时使用。
3、开漏输出
功能:只能输出低电平,如需输出高高电平,需外接电路(单片机输出3.3V时,外接电路为3,3V时,输出3.3V.外接5V时,可输出5V)。
应用:一般应用在输出电平在IIC、SMBUS通信等需要"线与"功能的总线中。除此之外,还用在电平不匹配的场合,如需输出5伏的高电平,就可以外部接一上拉电阻,上拉电源为5伏。并且把GPIO设置为开漏模 式,当输出高阻态时,由上拉电阻和电源向外输出5伏的电平。
4、开漏复用
四种输入模式:
1、上拉输入
在没有输入信号的时候,输入端默认输入高电平(由上拉决定)。
2、下拉输入
如上拉输入
3、浮空输入
浮空输入的电平是不确定的,完全由外部的输入决定。
应用:一般用于接按键。
4、模拟输入
用于ADC采集。
以上是关于GPIO输入输出模式的主要内容,如果未能解决你的问题,请参考以下文章