STM32 的八种GPIO模式

STM32的GPIO有8种模式可以供我们选择。其中,输入模式有4种分别为:浮空输入、上拉输入、下拉输入、模拟输入;输出模式也有4种:推挽输出、开漏输出、复用开漏输出、复用推挽输出。

1. 浮空输入:

        上下拉电阻开关均断开,输入信号只经过 施密特触发器(让输出的电压更稳定)进行滤波,然后再被读出。浮空输入一般多用于外部按键输入我理解为浮空输入状态下, IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。

 2. 上拉输入:

        上拉就是把电位拉高。上拉就是将IO口上不确定的信号通过一个上拉电阻把IO上拉为高电平。电阻同时起限流作用。

3. 下拉输入:

        与上拉相同,只是把IO下拉为低电平。

4. 模拟输入:

        模拟输入模式下,I/O端口的模拟信号(电压信号的具体数值,而非电平信号)直接模拟输入到片上外设模块。


5. 推挽输出:

        推挽输出有电压和电流的驱动能力,一般用在 0V 和 3.3V 的场合(不适用于需要更高或更低电压驱动的场合),线路经过P_MOS 管负责上拉电流N_MOS 管 负责下拉电流。但是无法调节输出电压,因为输出高低电平均为三极管输入端电压,此电压在由芯片内部供电,无法改变。推挽输出任意时刻只有一路工作。下图为输出高电平时电路工作状态。只有三极管导通电阻,无外接电阻。因此推挽输出损耗小、速度快。

6.开漏输出:

        开漏输出只有N_MOS 管工作,P_MOS 管一直关闭,本身没有驱动能力,必须依靠外部的电源驱动。在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。

7. 复用推挽输出:

        复用推挽输出原理与复用开漏输出原理相同,可以理解为GPIO口被用作第二功能时的配置情况(并非作为通用IO口使用)

8.复用开漏输出:

       STM32单片机内部有其他的外设,比如定时器、DAC等。复用开漏输出与普通开漏输出区别在于,开漏输出输出的是输出数据寄存器中的数据,复用开漏输出输出的是来自外设的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值