GPIO的8种输入,输出模式简单理解
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 复用推挽输出
模拟输入模式 :处于模拟输入模式时,IO口的电压信号输入到片上外设,例如ADC(没学DA和AD不太懂
(* ̄m ̄))。
浮空输入模式 :浮空输入模式时,IO口的信号进入输入数据寄存器,无输入信号时,IO口的状态是不确定的,在有信号输入时,IO口的状态则完全由外部的输入决定,在对外部信号的处理时也会常用到浮空输入模式。
上拉输入模式 :上拉输入模式时,IO口的电平信号进入输入数据寄存器,在无信号输入的情况下,IO保持高电平,在输入低电平信号时,IO口的输入端变为低电平。
下拉输入模式:下拉输入模式时,IO口的电平信号进入输入数据寄存器,在无信号输入的情况下,IO口保持低电平,在输入高电平信号时,IO口的输入端变为高电平。(其实就是与上拉模式相反)
小结:①上拉输入模式在无信号输入时,IO口一直处于高电平状态,有输入时则变为低电平,这让我联想到学习51的时候对按键是否按下的判断,通过判断是否变为低电平来判断按键是否按下。②下拉输入模式则无上拉相反,无信号输入时一直保持低电平状态,有高电平信号输入时则变为高电平。③浮空输入模式在无输入信号的情况下处于不确定的状态,这样在读去外部信号时相比于下拉和上拉模式,浮空输入模式有一个信号不变的状态。
推挽输出模式:输出电阻小,驱动电流大能,能直接驱动发光二极管,蜂鸣器等,能快速在高低电平间切换。
开漏输出模式:输出0的时候接地,输出1的时候为悬空,需外接上拉电阻才能输出高电平,开漏输出状态多见于总线通讯。外部有上拉电阻的情况下,电平由外部上拉电压决定。
复用开漏输出,复用推挽输出:GPIO被用作第二功能时的配置情况。