1、上拉电阻:将一个不确定的信号,通过一个电阻与电源VCC相连,固定在高电平。在IO口为输入模式且为上拉电阻时,IO口的常态为高电平。
2、下拉电阻:将一个不确定的信号,通过一个电阻与地GND相连,固定在低电平。在IO口为输入模式且为下拉电阻时,IO口的常态为低电平。
3、 开漏输出:当IO口为低电平时接地,IO口为高电平时不接地(不输出电压),如果外接上拉电阻,则在输出高电平时电压会被拉到上拉电阻的电源电压。上拉电阻的电源电压小于等于单片机的电源电压,如果大于单片机的电源电压,单片机有可能烧坏,所以开漏输出的电压小于等于单片机的电源电压。这种模式适合连接电压比STM32电压低的外设。
4、推挽输出:当IO口为低电平时接地,IO口为高电平时直接输出STM32电源电压,这种方式可以不接上拉电阻。
也就是说开漏输出和推挽输出,在输出低电平时没有区别,都是接地,区别在于输出高电平。