极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14315|回复: 8

请问IO口INPUT模式自己输入高电平是什么原因

[复制链接]
发表于 2016-12-4 13:51:21 | 显示全部楼层 |阅读模式
int out1 = 2;
int out1_kg1 = 5;
int out1_kg2 = 6;
int out1_kg1_st = LOW;
int out1_kg2_st = LOW;
void setup()  //程序初始化  
{  
  pinMode(out1_kg1,INPUT);
  pinMode(out1_kg2,INPUT);
  
  //pinMode(out1,OUTPUT);
  Serial.begin(9600);//设置波特率9600
  delay(500);
//  out1_kg1_st = digitalRead(out1_kg1);
//  out1_kg2_st = digitalRead(out1_kg2);
}

  
void loop()//程序主体循环  
{
  int tp1 = digitalRead(out1_kg1);
  int tp2 = digitalRead(out1_kg2);
  Serial.println(tp1);
  Serial.println(tp2);
  Serial.println("---------");
  delay(1000);  
}
用的是 pro mini 但是我io口上什么都没接怎么会一会输入HIGH,一会输入LOW,这是什么原因啊。。
回复

使用道具 举报

发表于 2016-12-4 14:53:02 | 显示全部楼层
默认是浮空输入,电平本身就不确定,你可以选择内部上拉或者外部上拉,上拉后,电平默认为高。
内部上拉设置
  1. pinMode(out1_kg1, INPUT_PULLUP);
  2. pinMode(out1_kg2, INPUT_PULLUP);
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-4 16:17:29 | 显示全部楼层
pathletboy 发表于 2016-12-4 14:53
默认是浮空输入,电平本身就不确定,你可以选择内部上拉或者外部上拉,上拉后,电平默认为高。
内部上拉设 ...

按下按钮会输出什么?
回复 支持 反对

使用道具 举报

发表于 2016-12-4 17:28:59 来自手机 | 显示全部楼层
避开电路谈电平,那我只能回答你可高可低。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-4 17:32:38 | 显示全部楼层
pathletboy 发表于 2016-12-4 17:28
避开电路谈电平,那我只能回答你可高可低。

pinMode(out1,OUTPUT);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-4 17:32:56 | 显示全部楼层
pathletboy 发表于 2016-12-4 17:28
避开电路谈电平,那我只能回答你可高可低。

pinMode(out1,OUTPUT);
这样会有影响吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-5 08:30:45 | 显示全部楼层
pathletboy 发表于 2016-12-4 14:53
默认是浮空输入,电平本身就不确定,你可以选择内部上拉或者外部上拉,上拉后,电平默认为高。
内部上拉设 ...

谢谢,问题解决了
回复 支持 反对

使用道具 举报

发表于 2016-12-5 09:45:28 | 显示全部楼层
悬空引脚可高可低  要么上拉要么下拉
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 21:44 , Processed in 0.043013 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表