GPIO分为输入和输出,前面我们一直用的是输出
输出:对外输出高低电平信号(信号发送)
输入:读取外部电路的高低电平信号或电压值
输入模式:
有四种,前三种是数字信号(0,1)的输入
1.浮空输入
外部引脚接低电平,寄存器中写入0
外部引脚接高电平,寄存器中写入1
外部不接东西,那我们就不知道寄存器中是什么,可能是0也可能是1

2.上拉输入(默认高电平状态)
和浮空输入不一样的地方:外部不接东西的时候,芯片内部的VCC提供高电压,寄存器中写入1
外部接低电平,虽然芯片内部有VCC但是寄存器还是写入0,因为上拉电阻的阻值很大,内部的VCC的电压几乎完全被电阻分走了,类比一下:
上拉电阻就像一个细水管,只能流很小的水,而外部低电平就像一个大水沟,把水全吸走了,引脚电压就像水池水位,被大水沟拉到低水位,所以施密特触发器检测到的还是低电平。

3.下拉输入(默认低电平状态)
和浮空不同的地方:外部不接东西的时候,芯片内部GND提供低电平,寄存器写入0

4.模拟输入
如果外部接3.3V,那么芯片内部读取到的就是3.3V
如果外部接2.2V,那么芯片就读取的是2.2V

1458

被折叠的 条评论
为什么被折叠?



