GPIO端口各种模式

GPIO端口各种模式的区别
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出

区别主要看用途。

推挽输出和开漏输出是GPIO引脚模式里,输出模式的两种。
推挽输出和开漏输出是根据这两个 MOS 管的工作方式来命名的。

输出模式:
电路如下图所示。
线路经过一个由 P-MOS 和 N-MOS 管组成的单元电路
GPIO端口各种模式_第1张图片
电路组成:线路经过一个由 P-MOS 和 N-MOS 管组成的单元电路。

推挽输出

电路原理:
输入高电平时,经过反向后,上方的 P-MOS 导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输入低电平时,经过反向后,N-MOS管导通,P-MOS 关闭,对外输出低电平

用途:
推挽输出模式一般应用在输出电平为 0 和 3.3 伏而且需要高速切换开关状态的场合。

推挽输出模式时的等效电路如下图所示GPIO端口各种模式_第2张图片

开漏输出

电路原理:
上方的 P-MOS 管完全不工作。如果我们控制输出为 0,低电平,则 P-MOS 管关闭N-MOS 管导通,使输出接地,若控制输出为 1 (它无法直接输出高电平)时,则P-MOS 管和 N-MOS 管都关闭,所以引脚既不输出高电平,也不输出低电平,为高阻态
正常使用时必须外部接上拉电阻。它具有“线与”特性,也就是说,若有很多个开漏模式引脚连接到一起时,只有当所有引脚都输出高阻态,才由上拉电阻提供高电平,此高电平的电压为外部上拉电阻所接的电源的电压

用途:
一般应用在 I2C、SMBUS 通讯等需要“线与”功能的总线电路中。
除此之外,还用在电平不匹配的场合,如需要输出 5 伏的高电平,就可以在外部接一个上拉电阻,上 拉电源为 5 伏,并且把 GPIO 设置为开漏模式,当输出高阻态时,由上拉电阻和电源向外输出 5 伏的电平,如下图所示。
GPIO端口各种模式_第3张图片

开漏输出模式时的等效电路如下图所示
GPIO端口各种模式_第4张图片

上拉、下拉输入:上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。

浮空输入:浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候用的是这个模式。

模拟输入:用于 ADC 采集。

你可能感兴趣的:(stm32,stm32F1)