(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
推挽输出:可以输出高,低电平,连接数字器件。推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。
开漏输出:只可以输出强低电平,高电平需要靠外部电阻拉高。输出端相当于三极管的集电极。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
复用开漏输出、复用推挽输出:可以理解为GPIO 口被用作第二功能时的配置情况(即并非作为通用IO口使用)
上拉输入/下拉输入/模拟输入:这几个概念很好理解,从字面便能轻易读懂。
浮空输入:一般多用于外部按键输入。我理解为浮空输入状态下,IO 的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
stm32 复位后,IO 端口处于输入浮空状态.
JTAG 引脚复位以后,处于上拉或者下拉状态.
所有IO 端口都具有外部中断能力,端口必须配置成输入模式,才能使用外部中断功能.
注意:PC13,PC14,PC15 只能用于2MHz 的输出模式,,最多只能带30pf 的负载,并且同时只能使用一个引脚!