wie kann ich folgendes realisieren. starteTimer ---> Wenn der Timer nocht nicht beendet und währenddessen eine Lichschranke ausgelöst wird ,ist die Zeit des Timers egal und das programm läuft weiter. Wenn Timer abgelaufen ist dann soll eine Fehlermeldung ausgegeben werden. Also nochmal in Worten. Wenn wären der Timer läuft und eine Lichtschranke aktiv wird soll das Prgramm weiterlaufen. Wenn die Zeit abgelaufen ist dann soll neh Fehelermeldung ausgegeben werden....Wie zum Beispiel....warten auf LS hat zu lange gedauert! Wie geht das...habe schon mit mehren schleifen probiert mir ist aber keine Lösung eingefallen! Wollte die zeitbasis vom Overflow Interrupt nehemen
Das Program besteht aus 2 Teilen:
Eine Timeroverflow Routine, die Dir einen Zeittakt
zur Verfuegung stellt: Sagen wir mal, Der Overflow
wird alle 1 ms aufgerufen.
Innerhalb der Overflow Funktion zaehlts Du eine (oder
mehrere) Variable(n) hoch, die sowas wie eine Stoppuhr
realisieren. Soweit so gut.
Im Hauptprogram initialisierst Du die Stoppuhr auf 0
und startest eine Warteschleife. Die Schleife
kann auf 2 Arten verlassen werden:
* entweder ist die Lichtschranke aktiviert worden
* oder die Zeit ist abgelaufen
in PseudeCode:
StopCounter = 0;
Starte den TimerOverflowInterrupt
while( StopCounter < WaitingTime &&
Lichtschranke_hat_nicht_ausgeloest ) {
; /* Warte */
}
if( Lichtschranke_hat_nicht_ausgeloest )
Gib ne Fehlermeldung aus
else
mach weiter mit was anderem
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.