STM32设置GPIO模式的开漏模式输出时,为什么上方的P-MOS管完全不工作而只有下面的N-MOS工作呢

STM32设置GPIO模式的开漏模式输出时,为什么上方的P-MOS管完全不工作而只有下面的N-MOS工作呢?

在STM32设置GPIO模式为开漏模式输出时,对于每个GPIO引脚,实际上有一个N-MOS管和一个P-MOS管分别控制该引脚的低电平和高电平输出。

在开漏模式下,对于一个高电平输出,P-MOS管会被关闭,N-MOS管会被打开;对于一个低电平输出,N-MOS管会被关闭,P-MOS管会被打开。因此,当一个GPIO引脚输出低电平时,只有P-MOS管工作,而N-MOS管关闭;当一个GPIO引脚输出高电平时,只有N-MOS管工作,而P-MOS管关闭。

如果在设置开漏模式时,上方的P-MOS管完全不工作,可能有以下原因:

1.错误的连接:可能引脚的连接存在错误,或者其他部件的连接存在问题,导致P-MOS管不能正常工作。

2.P-MOS管损坏:P-MOS管可能已经损坏,导致不能正常工作。

3.驱动电路问题:如果P-MOS管和N-MOS管的驱动电路不同,可能会导致其中一个无法正常工作。在STM32中,P-MOS管和N-MOS管的驱动电路应该是相同的,如果存在差异,需要检查是否存在问题。

人家芯片就是这么做的啊。。。这个行业就是这么定义【开漏】:上管关断,只用下管来输出信号。这样是为了适配不同电平和I2C总线应用

  • 这篇博客: STM32-深入理解GPIO的8种工作模式中的 1.2、P-MOS管和N-MOS管 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •         图(1)中②所示的为 P-MOS 管和 N-MOS 管。GPIO引脚线路经过两个保护二极管后,向上流向“输入模式”结构,向下流向“输出模式”结构。在输出模式部分,线路经过一个由P-MOS和N-MOS管组成的单元电路。这个结构使GPIO具有了“推挽输出”和“开漏输出”两种模式,这两种模式下面会详细介绍。