hi,
wie kann ich hier:
if(PINB.1 == 0) //Stop/Pause Taster
{
TCCR1B=0x00; // Timer 1 stop
TCCR0B=0x00; // Timer 0 stop
laeuft = 0; // Programm läuft nicht
manual_stop = 1; // Stop Taster wurde gedrückt, Reset freigegeben
PORTC.0 = 0; // grüne LED aus
PORTC.2 = 0; // Motor Stop
lcd_gotoxy(0,1); // LCD Ausgabe
lcd_putsf("Pause ");
pausiert = 1; // Programm ist pausiert
stoerung = 0; // falls eine Störung vorlag wird sie bestätigt
}
eine zeitverzögerung für den taster einbauen, dass ich ihn erst 2sec
gedrückt halten muss, dass die if ausgeführt wird?
finde nur entwas zur zeitverzögerungen in laufenden programmen -.-"
Grüße :)
Muss in der Zwischenzeit (in diesen 2 Sekunden) irgendwas anderes
weiterlaufen?
Wenn nein
if(PINB.1 == 0) //Stop/Pause Taster
{
warte 2 Sekunden
Taster immer noch gedrückt?
ja ->
TCCR1B=0x00; // Timer 1 stop
TCCR0B=0x00; // Timer 0 stop
....
Wenn da sonst noch irgendwas anderes weiterlaufen muss, so dass warten
nicht erlaubt ist, dann könnte man einen Timer einsetzen, der nach 2
Sekunden abläuft. Taste gedrückt -> Timer starten, Taste losgelassen ->
Timer zurücksetzen. Schafft es der Timer abzulaufen, dann löst er den
Resetvorgang aus.
also so?:
if(PINB.1 == 0) //Stop/Pause Taster
delay_ms(2000);
if(PINB.1 == 0)
{
TCCR1B=0x00; // Timer 1 stop
TCCR0B=0x00; // Timer 0 stop
laeuft = 0; // Programm läuft nicht
manual_stop = 1; // Stop Taster wurde gedrückt, Reset freigegeben
PORTC.0 = 0; // grüne LED aus
PORTC.2 = 0; // Motor Stop
lcd_gotoxy(0,1); // LCD Ausgabe
lcd_putsf("Pause ");
pausiert = 1; // Programm ist pausiert
stoerung = 0; // falls eine Störung vorlag wird sie bestätigt
}
es muss sonst nichts anderes gleichzeitig ausgeführt werden.
Daniel Träger schrieb: > also so?: > > if(PINB.1 == 0) //Stop/Pause Taster > > delay_ms(2000); > if(PINB.1 == 0) > { und jetzt schaust du dir noch an, ob das erste if ein paar { } braucht
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.