STM32的GPIO八种输入输出模式

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的输入输出的一个总结。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值