tian111 发表于 2021-12-2 22:05

I/O口的输入检测问题

今天做了一个I/O口的输入检测
设置P1DR &= ~(BIT1 + BIT2 + BIT3 + BIT4);
将P1.1-P1.4口悬空,用示波器和电压表测量,发现P1.1-P1.3为高电平,P1.4为低电平
请问这是什么原因

chuxh 发表于 2021-12-2 22:08

I/0端口输入模式如果去检测它的电压,是多少呢?

llljh 发表于 2021-12-2 22:10

悬空的话电流会对单片机io有影响。。

pengf 发表于 2021-12-2 22:12

楼主,你不用的就把它拉低吧

xxrs 发表于 2021-12-2 22:13


不用的时候正如楼上所言,拉低即可的,悬空的话,IO口的输出状态不明,才会出现那个问题的

zwll 发表于 2021-12-2 22:17

楼主只是设置了输入输出方向并没有规定其高低

pengf 发表于 2021-12-2 22:19

悬空的电压可能低也可能高,一般都要外加上拉电阻的。

supernan 发表于 2021-12-2 22:21

不用的IO下拉就好了,不用的话就没有什么影响了

jiajs 发表于 2021-12-2 22:23

这个再看下其他相关寄存器的设置的。

chuxh 发表于 2021-12-2 22:25

IO口的入状态不明,是随机的

supernan 发表于 2021-12-2 22:27

单片机输入口往往内阻很高,悬空的话会导致在系统运行阶段该接口会受到电磁干扰的影响

tian111 发表于 2021-12-2 22:29

哦,那我就知道怎么回事了,多谢大家
页: [1]
查看完整版本: I/O口的输入检测问题