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