[STM32MP1] STM32的GPIO输出模式,推挽输出和开漏输出的区别

[复制链接]
 楼主| 而服务器人 发表于 2024-8-14 13:46 | 显示全部楼层 |阅读模式
“推挽输出和开漏输出的主要区别在于MOS管的控制方式。推挽输出可以直接输出高电平或低电平,具有较强的驱动能力。而开漏输出只有低电平和高阻态,需要外接上拉电阻才能输出高电平。线与特性在I2C总线中非常重要,可以实现总线上的多设备通信仲裁。”
micoccd 发表于 2024-8-14 15:48 | 显示全部楼层
为啥我用起来感觉没啥区别啊
狄克爱老虎油 发表于 2024-8-17 23:30 来自手机 | 显示全部楼层
外部都会接上拉,芯片配置不配置上拉都行
kqh11a 发表于 2024-8-28 12:19 | 显示全部楼层
这两种输出方式在电子电路中有各自的应用和特点,尤其是在涉及到多设备通信和总线仲裁的场景中,例如 I2C 总线。
公羊子丹 发表于 2025-3-16 07:50 | 显示全部楼层
说得很清楚,推挽输出适合驱动能力要求高的场合,而开漏输出更适合用于多设备总线通信。
周半梅 发表于 2025-3-16 07:51 | 显示全部楼层
开漏输出如果没有上拉电阻,输出高电平时可能会悬空,导致逻辑异常,很多人都会忽略这一点。
帛灿灿 发表于 2025-3-16 07:54 | 显示全部楼层
在 STM32MP1 里,某些 GPIO 还能配置为开漏带上拉的模式,这样就不用外接上拉电阻了。
童雨竹 发表于 2025-3-16 07:55 | 显示全部楼层
I2C 这种协议必须用开漏输出配合上拉电阻,否则多个设备连接时可能会导致总线冲突。
万图 发表于 2025-3-16 07:56 | 显示全部楼层
如果是驱动 LED,推挽输出通常是更好的选择,开漏输出的话 LED 只能靠上拉电阻提供的微弱电流点亮。
Wordsworth 发表于 2025-3-16 07:57 | 显示全部楼层
有些传感器的中断信号是开漏输出的,所以 STM32 端也需要配置成开漏模式,并加上拉电阻。
Bblythe 发表于 2025-3-16 07:58 | 显示全部楼层
推挽模式的驱动能力更强,如果是控制 MOSFET 或者蜂鸣器之类的外设,推挽输出会更稳定。
Pulitzer 发表于 2025-3-16 07:59 | 显示全部楼层
STM32MP1 里 GPIO 还能设定速率(低速、中速、高速、超高速),这个在推挽模式下对驱动能力影响很大。
Uriah 发表于 2025-3-16 08:00 | 显示全部楼层
有时候开漏模式可以用作简单的“线与”逻辑,比如多个设备共享一个信号线时,任何设备拉低信号线都会影响整个系统。
Clyde011 发表于 2025-3-16 08:01 | 显示全部楼层
STM32MP1 的 GPIO 复用功能很强大,推挽和开漏只是基本配置之一,像 AF(复用功能)模式还能让 GPIO 变成专用外设引脚,比如 SPI、UART、I2C 等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

41

主题

467

帖子

0

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