打印
[应用相关]

STM32的GPIO八种输入输出模式

[复制链接]
413|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-8-14 16:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1.输入输出模式



1.1输入模式

GPIO_Mode_AIN             /*  模拟输入模式  */
GPIO_Mode_IN_FLOATING     /*  浮空输入模式  */   
GPIO_Mode_IPD             /*  下拉输入模式  */
GPIO_Mode_IPU             /*  上拉输入模式  */

GPIO_Mode_AIN (Analog Input) :模拟输入模式


模拟输入模式



        在该模式下,引脚被连接到ADC(模数转换器),用于读取电压值,常用于采集传感器信号,也就是读取模拟信号。

GPIO_Mode_IN_FLOATING (Floating Input):浮空输入模式

浮空输入模式



        在这种模式下,GPIO引脚被配置为输入,但不连接内部上拉或下拉电阻。这可能导致不确定的状态,除非外部电路将其强制为高电平或低电平。适用于需要检测外部电路是否连接的场景,其他场景一般不推荐使用这个模式。

GPIO_Mode_IPD (Input Pull-Down) :下拉输入模式



下拉输入模式

        GPIO作为输入,并且内部下拉电阻被激活。如果外部没有连接器件或信号为高阻态,引脚将被拉低至GND,确保有一个确定的低电平状态。

GPIO_Mode_IPU (Input Pull-Up):上拉输入模式。



上拉输入模式


        此模式下内部上拉电阻被激活,当外部无信号或为高阻时,引脚会被拉高至VCC,确保有一个确定的高电平状态。

        高阻:高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平。 把一个端口置为高阻态,相当于该端口从电路中断开(仅对输出来说),比如在一个通信线上挂了几个端口,将一个端口置为高阻态,就意味着该端口不会影响到该通信线的电平变化,但还是可以读取端口的电平。 一般高阻态都是作为模拟量输入的,因为高阻态不会影响到输入的电平,可以准确的读取模拟量。 高阻态只有电容效应,没有电阻效应;阻抗很高很高,相当于断开。

        悬空/浮空和高阻态的区别 : 悬空/浮空:就是逻辑器件的输入引脚即不接高电平,也不接低电平。一般实际运用时,引脚不建议悬空,易受干扰。 高阻态:从逻辑器件内部电路结构来说,就是其输出电阻很大,该状态即不是高电平,也不是低电平。

1.2输出模式

GPIO_Mode_Out_OD        /*  开漏输出模式  */
GPIO_Mode_Out_PP        /*  推挽输出模式  */
GPIO_Mode_AF_OD         /*  复用开漏输出模式  */
GPIO_Mode_AF_PP         /*  复用推挽输出模式  */

GPIO_Mode_Out_OD (Output Open Drain) :开漏输出模式        



开漏输出模式
        在该情况下,GPIO不能主动驱动高电平,只能拉低电平或保持高阻态。 在输出低电平时,引脚被拉低;而在输出高电平时,引脚呈高阻状态。这允许多个开漏输出引脚通过外部上拉电阻连接来实现线与逻辑(Wire-AND)。常用于I²C、UART等需要共享总线的通信协议。

GPIO_Mode_Out_PP (Output Push-Pull) :推挽输出模式



推挽输出模式


        这是最常见的输出模式,既能输出高电平也能输出低电平。推挽结构能提供强驱动能力,适合直接驱动负载和传递数字信号。

GPIO_Mode_AF_OD (Alternate Function Open Drain) :复用开漏输出模式



复用开漏输出模式


        类似于Out_OD,当GPIO被配置为某个外设的复用功能(如SPI、I²C)时,GPIO引脚被配置为特定外设的开漏输出,通常需要配合外部上拉电阻。

GPIO_Mode_AF_PP (Alternate Function Push-Pull) :复用推挽输出模式



复用推挽输出模式


        与AF_OD类似,但使用推挽输出,能够直接驱动负载而不需外部上拉,适用于需要更强驱动能力的复用功能场景。

2.结束语
以上就是对STM32的输入输出的一个总结。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_52470001/article/details/141035560

使用特权

评论回复
沙发
狄克爱老虎油| | 2024-8-17 23:28 | 只看该作者
运行时能不能更改io状态啊

使用特权

评论回复
板凳
grfqq325| | 2024-8-28 12:05 | 只看该作者
在每种模式下,可以有不同的配置选项。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1734

主题

15125

帖子

10

粉丝