输入一共有四种模式:
模拟输入:多用在ADC转换或者DAC转换,或者配置一些闲时io口时进行省电
上拉输入 :根据外部电路而来,给他一个上拉电阻,让这个模块默认电平为高
下拉输入:浮空输入加一个下拉电阻闭合,默认低电平
浮空输入:浮空输入状态下,IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
注意:上拉输入 下拉输入 浮空输入 都要经过施密特触发器,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。
输出一共有四种模式: stm32输出口,有pmos 和nmos开关,某一个时刻,不能同时实现开或者关
推挽输出:可以输出高,低电平,连接数字器件。
输出 0 时,N-MOS 导通,P-MOS 断开,输出0。
输出 1 时,N-MOS 断开,P-MOS 导通,输出1(不需要外部上拉电路)。
应用场景:小灯的点亮,继电器等等,大部分都用推挽输出
开漏输出:
PMOS没有,NMOS管子存在,能够正常输出数字信号0,NMOS闭合
输出数字信号1,NMOS断开,相当于断开高阻态
应用场景:用得不多,如果想要控制一个设备,高电平10v 和低电平0v,实现外部电路电平匹配的数字信号1
复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况的推挽输出
复用开漏输出:可以理解为GPIO口被用作第二功能时的配置情况的开漏输出