0 electronics arduino arduino-ide arduino-uno
我使用此代码检查了Arduino引脚8的状态。查看该引脚是高电平还是低电平,但是我的输出从高电平连续变为低电平。
运行此代码时,我没有将任何东西连接到引脚8。
const int Pin = 8;
int Reading=0;
void setup() {
Serial.begin(9600);
delay(2000);
pinMode(Pin, INPUT);
}
void loop() {
Reading = digitalRead(Pin);
if(Reading == HIGH)
{
Serial.println("HIGH");
delay(2000);
}
if(Reading == LOW)
{
Serial.println("LOW");
delay(2000);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我的输出是这样的:输出:
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
HIGH
HIGH
LOW
LOW
Run Code Online (Sandbox Code Playgroud)
不知道该怎么办??
这是正确的行为。
由于您没有连接引脚,因此读取值应该不确定(这意味着不稳定)。选中“浮动”状态以了解更多信息。
如果要使其稳定,请考虑使用内部上拉电阻。换线
pinMode(引脚,输入);
至
pinMode(Pin,INPUT_PULLUP);
使其在断开连接时始终为高电平。在这种情况下,实际尝试连接引脚时,应考虑内部上拉电阻。
官方的Arduino文档提供了有关每个GPIO状态的更详细的描述。
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |