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总线应用
图(1)中②所示的为 P-MOS 管和 N-MOS 管。GPIO引脚线路经过两个保护二极管后,向上流向“输入模式”结构,向下流向“输出模式”结构。在输出模式部分,线路经过一个由P-MOS和N-MOS管组成的单元电路。这个结构使GPIO具有了“推挽输出”和“开漏输出”两种模式,这两种模式下面会详细介绍。