单片机加上拉电阻后为什么IO口是1不是0?电压应该都分在10K电阻上吧?那IO不就是0电位了?

2024-11-03 01:20:44
推荐回答(2个)
回答1:

你这么说是不了解单片机IO口内部结构。需要加上拉电阻那么IO口应该为开漏输出或浮空输入,开漏时,相当于一个开关接地,这个开关断开的时候,是没有电位的,所以要一个上拉电阻确定他的电位。上拉电阻另一端接在电源上,自然IO这边就是1了。现在开关是断的,没有电流或电流很小,电阻上不会分担电压。

回答2:

看状态不止看是不是上拉和下拉,还要看管脚状态(输出还是输入,高电平还是低电平)上拉有一个目的是在做输入时确定电平。(此时外部无电平则一定是高电平,而无上拉,则有可能出现电平不确定的情况,一般io管脚初始化都会说不要使管脚悬空,就有这种原因),输出时,有上拉,则配置高电平,状态就是高电平,配置低电平,状态是低电平,只不过高电平状态会更稳定些,不容易出现压差。不同配置,io状态不同,当然不可能一定是0电位,基础概念没搞懂,动手自己试试不同状态的结果