一、四种输入模式
根据电路图,把引脚配置成输入,读某个寄存器就可以得到这个引脚的状态是零还是一。对于悬空的引脚无法判断是高电平还是低电平。
如图所示,当电阻R2足够大大于R1时,电压V约等于3.3V,只要V的电压大于1.7V,引脚读出的就是1,高电平。红色部分电阻属于下拉电阻。引脚悬空时没有办法知道电平是多少,没有一个参考电压,要使k1按下是高电平,松开是低电平
按下时是低电平,松开高电平,当电阻R2比较小或者约等于0的时候,就能分辨出K2按下和松开是引脚的电平是多少
可以将上拉和下拉集成到芯片内部引脚处
如图所示当按键K按下得到高电平,松开得到低电平,这个时候就要使能芯片内部下拉电阻。简称使能上拉
如图所示当按键按下引脚是低电平,松开要得到高电平就要使能芯片内部的上拉电阻确定一个值,简称使能下拉。
当外部提供上拉电阻和下拉电阻,不使用芯片内部的上拉电阻和下拉电阻就叫做浮空输入。
引脚进来经过施密特触发器到达输入数据寄存器,要么得到1或0。有时候要得到这个电压原始的数据,走模拟输入时,在这个场景里面让引脚在芯片内部是浮空状态,不使用上拉,也不使用下拉,让电压完全由外部电路决定,让引脚接到模拟输入里面去,不接到数据输入里面去。
数据输入、模拟输入,其它的输入,例如IIC模拟输入。
引脚电压范围是多少,读到一和零时电压范围是多少。读到1电源电压范围1.546 ~ 3.6V, 引脚有FT的,电压范围是1.546~5.x V,当电压 -0.3 ~ 1.146V是低电压,读到0,
上图是施密特触发器的作用,保证了输入数据寄存器里面的零和一稳定
二、四种输出模式
点亮这盏灯,V=Vdd=3.3V,熄灭这盏灯我希望V=0V。输出1的时候P_MOS闭合,N_MOS打开,输出零的时候N_MOS闭合,P_MOS打开。
复用功能下的推挽输出
如图所示前面两位CNF决定引脚是开漏还是推挽,后面两位决定引脚速出速率
上图是GPIO引脚模式配置