1
我想在if语句中运行for循环,但它不断重复。当我按下引脚2上的一个按钮时,我基本上希望引脚4闪烁6次。当for循环中z变为6时,if语句使得z被重置为0,并且for循环再次重新启动。因此,引脚4上的LED持续闪烁。任何人都可以提供帮助,使其仅闪烁6次?下面是代码:需要援助 - 如何退出if语句中的for循环?
int switchState = 0;
void setup()
{
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(2, INPUT);
}
void loop()
{
switchState = digitalRead(2);
if (switchState == LOW)
{
digitalWrite(5, LOW);
digitalWrite(4, LOW);
}
else
{
digitalWrite(5, HIGH);
for (int z=0; z<6; z++)
{
digitalWrite(4, HIGH);
delay(100);
digitalWrite(4, LOW);
delay(100);
}
}
}
我看不到你的代码错误。 loop()方法将被一次又一次地调用。每次,它都会检查你的按钮。如果没有按下按钮,引脚4和5被设置为低电平(我认为这将是两个将被关闭的LED),如果按下,引脚5永久打开并且引脚4将被打开并且关闭6次,然后循环()将再次开始。 你的z没有错,没有'if语句使得z被重置为0并且for循环重新开始。 –
Hey Markus, 我的目标是让引脚4上的LED闪烁6次,然后即使按下按钮也会停止闪烁。我想让引脚5保持点亮,并且不得不放开按钮,然后再次按下引脚4以再次开始闪烁6次。 – PYB