[应用相关] STM32的8种GPIO输入输出模式

[复制链接]
1966|35
 楼主| 大鹏2365 发表于 2021-1-31 23:23 | 显示全部楼层
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形方法任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出即可以向负载灌电流。推拉式输出级即提高电路的负载能力,又提高开关速度。
 楼主| 大鹏2365 发表于 2021-1-31 23:23 | 显示全部楼层
 楼主| 大鹏2365 发表于 2021-1-31 23:24 | 显示全部楼层
推挽式复用功能
可以理解为GPIO口被用作第二功能时的配置情况(并非作为通用IO口使用)。
 楼主| 大鹏2365 发表于 2021-1-31 23:25 | 显示全部楼层
 楼主| 大鹏2365 发表于 2021-1-31 23:25 | 显示全部楼层
最后用一幅最简单的图形来概括推挽输出和开漏输出:该图中左边的便是推挽输出模式,其中比较器输出高电平时下面的PNP三极管截止,而上面NPN三极管导通,输出电平VS+;当比较器输出低电平时则恰恰相反,PNP三极管导通,输出和地相连,为低电平。右边的则可以理解为开漏输出形式,需要接上拉。 489866016cbe2d0c85.png
 楼主| 大鹏2365 发表于 2021-1-31 23:26 | 显示全部楼层
总结
STM32中IO模式选用:
1浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1
2带上拉输入GPIO_IPU——IO内部上拉电阻输入
3带下拉输入GPIO_IPD—— IO内部下拉电阻输入
4模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电
5开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能。
6推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的
7复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)
8复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)
 楼主| 大鹏2365 发表于 2021-1-31 23:27 | 显示全部楼层
STM32中IO使用的5种常用方式,它们的配置方式如下:
1作为普通GPIO输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时不要使能该引脚对应的所有复用功能模块。
 楼主| 大鹏2365 发表于 2021-1-31 23:27 | 显示全部楼层
2作为普通GPIO输出:根据需要配置该引脚为推挽输出或开漏输出,同时不要使能该引脚对应的所有复用功能模块。
 楼主| 大鹏2365 发表于 2021-1-31 23:28 | 显示全部楼层
3作为普通模拟输入:配置该引脚为模拟输入模式,同时不要使能该引脚对应的所有复用功能模块。
 楼主| 大鹏2365 发表于 2021-1-31 23:29 | 显示全部楼层
4作为内置外设的输入:根据需要配置该引脚为浮空输入、带弱上拉输入或带弱下拉输入,同时使能该引脚对应的某个复用功能模块。
 楼主| 大鹏2365 发表于 2021-1-31 23:29 | 显示全部楼层
5作为内置外设的输出:根据需要配置该引脚为复用推挽输出或复用开漏输出,同时使能该引脚对应的所有复用功能模块。
aoyi 发表于 2021-2-6 09:45 | 显示全部楼层
哪种模式的功耗最大啊
drer 发表于 2021-2-6 09:47 | 显示全部楼层
貌似ti的就没有这么多的模式啊
gwsan 发表于 2021-2-6 09:50 | 显示全部楼层
所谓引脚复用就是同时可以用作两个用途是吗
kxsi 发表于 2021-2-6 09:54 | 显示全部楼层
推挽输出和开漏输出的那个对比图非常不错
nawu 发表于 2021-2-6 09:58 | 显示全部楼层
推挽模式的开关速度能达到多少啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部