打印
[应用相关]

STM32的8种GPIO输入输出模式

[复制链接]
1251|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
输入模式
- 浮空输入(GPIO_Mode_IN_FLOATING)
- 上拉输入(GPIO_Mode_IPU)
- 下拉输入(GPIO_Mode_IPD)
- 模拟输入(GPIO_Mode_AIN)


使用特权

评论回复
沙发
大鹏2365|  楼主 | 2021-1-31 23:10 | 只看该作者
输出模式
- 开漏输出(GPIO_Mode_Out_OD)
- 开漏复用功能(GPIO_Mode_AF_OD)
- 推挽输出(GPIO_Mode_Out_PP)
- 推挽复用功能(GPIO_Mode_AF_PP)

使用特权

评论回复
板凳
大鹏2365|  楼主 | 2021-1-31 23:12 | 只看该作者
浮空输入
浮空就是逻辑器件与引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。通俗讲就是浮空就是浮在空中,就相当于此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多。浮空最大的特点就是电压的不确定性,它可能是0V,页可能是VCC,还可能是介于两者之间的某个值。浮空输入一般多用于外部按键、ADC输入用,这样可以减少上下拉电阻对结果的影响。

使用特权

评论回复
地板
大鹏2365|  楼主 | 2021-1-31 23:12 | 只看该作者

使用特权

评论回复
5
大鹏2365|  楼主 | 2021-1-31 23:13 | 只看该作者
上拉输入
上拉就是把点位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平。电阻同时起到限流的作用。弱强只是上拉电阻的阻值不同,没有什么严格区分。

使用特权

评论回复
6
大鹏2365|  楼主 | 2021-1-31 23:14 | 只看该作者

使用特权

评论回复
7
大鹏2365|  楼主 | 2021-1-31 23:15 | 只看该作者
下拉输入
就是把电压拉低,拉到GND。与上拉原理相似。

使用特权

评论回复
8
大鹏2365|  楼主 | 2021-1-31 23:16 | 只看该作者

使用特权

评论回复
9
大鹏2365|  楼主 | 2021-1-31 23:17 | 只看该作者
模拟输入
模拟输入是指传统方式的输入,数字输入是输入PCM数字信号,即0、1的二进制数字信号,通过数模转换,转换成模拟信号,经前级放大进入功率放大器,功率放大器还是模拟的。

使用特权

评论回复
10
大鹏2365|  楼主 | 2021-1-31 23:17 | 只看该作者

使用特权

评论回复
11
大鹏2365|  楼主 | 2021-1-31 23:18 | 只看该作者
开漏输出
输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点:

使用特权

评论回复
12
大鹏2365|  楼主 | 2021-1-31 23:18 | 只看该作者
1利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND,IC内部仅需很小的栅极驱动电流。

使用特权

评论回复
13
大鹏2365|  楼主 | 2021-1-31 23:19 | 只看该作者
2一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。比如加上上拉电阻就可以提供TTL/CMOS电平输出等。(上拉电阻的阻值决定了逻辑电平转换的沿的速度 ,阻值越大,速度越低功耗越小,所以负载电阻的选择要兼顾功耗和速度。)

使用特权

评论回复
14
大鹏2365|  楼主 | 2021-1-31 23:19 | 只看该作者
OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。

使用特权

评论回复
15
大鹏2365|  楼主 | 2021-1-31 23:20 | 只看该作者
4可以将多个开漏输出的Pin连接到一条线上,通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是I2C,SMBus等总线判断总线占用状态的原理。可以简单的理解为:在所有引脚连在一起时,外接一上拉电阻,如果有一个引脚输出为逻辑0,相当于接地,与之并联的回路“相当于被一根导线短路”,所以外电路逻辑电平便为0,只有都为高电平时,与的结果才为逻辑1。

使用特权

评论回复
16
大鹏2365|  楼主 | 2021-1-31 23:20 | 只看该作者
在一个结点(线)上,连接一个上拉电阻到电源VCC或VDD和n个NPN或NMOS晶体管的集电极C或漏极D,这些晶体管的发射极E或源极S都接到地线上,只要有一个晶体管饱和,这个结点(线)就被拉到地线电平上。因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS),晶体管就会饱和,所以这些基极或栅极对这个结点(线)的关系是或非NOR逻辑。如果这个结点后面加一个反相器,就是或OR逻辑。

使用特权

评论回复
17
大鹏2365|  楼主 | 2021-1-31 23:21 | 只看该作者

使用特权

评论回复
18
大鹏2365|  楼主 | 2021-1-31 23:21 | 只看该作者
开漏复用功能
可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)。端口必须配置成复用功能输出模式(推挽或开漏).

使用特权

评论回复
19
大鹏2365|  楼主 | 2021-1-31 23:22 | 只看该作者

使用特权

评论回复
20
大鹏2365|  楼主 | 2021-1-31 23:22 | 只看该作者
推挽输出
可以输出高、低电平,连接数字器件;推挽结构一般是指两个三级管分别受到互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源低定。

使用特权

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

本版积分规则

50

主题

659

帖子

0

粉丝