1) 浮空输入(默认状态):GPIO_Mode_IN_FLOATING: 引脚自身视为开路,电平由外部电路决定,不能输出;
2) 上拉输入:GPIO_Mode_IPU:与浮空输入类似,但当外部电平不确定时,会被拉至高电平;
3) 下拉输入:GPIO_Mode_IPD:与浮空输入类似,但当外部电平不确定时,会被拉至低电平;
4) 模拟输入:GPIO_Mode_AIN: 用作内部AD采样脚;
5) 通用开漏输出:GPIO_Mode_OUT_OD: 输出0为低电平,输出1为高阻态,电平由外部电路决定,可以读出引脚状态;
6) 通用推挽输出:GPIO_Mode_OUT_PP:输出0为低电平,输出1为内部电源电平(3.3V);
7) 复用开漏输出:GPIO_Mode_AF_OD: 由复用外设控制输出,效果与通用开漏输出一致;
8) 复用推挽输出:GPIO_Mode_AF_PP:由复用外设控制输出,效果与通用推挽输出一致;
一共是四种输出四种输出方式,前四个是输入模式、后四个是输出模式。
通用和复用的区别:通用就是IO口的普通用法、复用就是IO口的特殊用法,比如RX 、IIC(SCL) 、SPI(SIMO)。