- 上拉输入:通过内部的上拉电阻将一个不确定的信号通过一个电阻拉到高电平。
- 下拉输入:把电压拉到GND与上拉原理相似。
- 浮空输入:引脚内部什么都不接处于浮空模式下,电平状态是不确定的外部信号输入什么,IOロ就是什么状态
- 模拟输入:接收到的是连续的模拟信号,一般用于AD转换
- 推挽输出:可以输出高低电平,连接数字器件在stm32中推挽电路甴两个MOS管组成:输出高电平时P-MOS管导通,引脚联通VDD(3.3v)输出低电平时N-MOS导通,引脚联通GND该方式既提高电路的负载能力,又提高开关速度
- 开漏輸出:无法直接输出高电平,要在外部连接上拉电阻才行输出的电压由上拉电阻连接的电源决定。适合做电流型的驱动其吸收电流的能力相对强(一般20ma以内)。开漏输出还有一个特性:线与即很多开漏模式引脚连接在一起,只有当所有引脚都输出1时才能够被上拉电阻拉到高电平。若有一个引脚为低电平则所有引脚相当于接地。
- 复用推挽输出:简单来说就是给内部外设使用的推挽输出模式
- 复用开漏输出:简单来说就是给内部外设使用的开漏输出模式
在STM32中,根据不同的使用场景选用不同的IO模式:
- GPIO_Mode_Out_OD: 开漏输出---可以外接上拉电阻输出較高的电平,也能够通过读取IO的电平变化实现C51的IO双向功能