STM32之的GPIO推挽输出与开漏输出的区别

首先看以下STM32的GPIO的原理图如下:

STM32之的GPIO推挽输出与开漏输出的区别


当端口配置为输出时:
    开漏模式:输出 0 时,N-MOS 导通,P-MOS 不被**,输出0。
              输出 1 时,N-MOS 高阻, P-MOS 不被**,输出1(需要外部上拉电路);此模式可以把端口作为双向IO使用。
    推挽模式:输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。
              输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。