0

我是使用树莓派编程的新手,我的任务是建立一个用按钮激活并由同一个按钮停止的“警报”。现在我想包括一个 PWM 驱动的 LED,从高到低衰减。对我来说的问题是,我不知道如何通过按下按钮摆脱循环。

while(1)
{
    // Wenn das erste mal gedrückt führe schleife aus
    if(digitalRead(5)==1 && alarm==0)
    {
        //warte 300ms
        delay(300);
        //setze flag auf eins (Schleife war aktiv)
        alarm=1;
    }
    //Wenn die Taste vorher schon einmal gedrückt wurde, stoppe LED
    else if (digitalRead(5)==1 && alarm==1)
    {
        //warte 300ms
        delay(300);
        // Schalte den Alarm wieder aus
        alarm=0;
        // Schalte LED aus
        digitalWrite(0, 0);
    }
    //Solange Alarm eingeschaltet, führe Schleife aus
    while (alarm==1 && digitalRead(5)==0)
    {
        for(up = 1; up <= 100 | digitalRead(5)==1; up++)
        {
            softPwmWrite (0, up);
            delay(10);
        }

        delay(1000);



        for(down = up; down >= 0 | digitalRead(5)==1; down--)
        {
            softPwmWrite (0, down);
            delay(10);

        }

        delay(1000);

    }

}

我实际上来自德国,所以不幸的是我的评论是德国人。但我希望你们能帮助我:/

4

0 回答 0