-
-
Erfahrener Benutzer
Roboter Experte
Einer von ca. 1027 Wegen könnte so aussehen:
Du definierst 2 Variablen als Bit und nutzt sie als "flag", die bei Passage der Lichtschranken gesetzt werden (z.B. Flag1 und Flag2). Wird die Lichtschranke 1 ausgelöst, checkst Du ob Flag2 schon gesetzt ist. Wenn ja, geht die Hin-LED an. Wenn nicht, wird Flag1 gesetzt. Lichtschranke 2 macht genau das gleiche: Checken, ob Flag1 gesetzt ist, wenn ja, Rück-LED an, ansonsten Flag2 setzen.
Irgendwann nachdem eine LEDs angeschaltet wurde, musst Du natürlich beide Flags löschen (und die LED wieder ausschalten). Die einfache, aber unelegante Art wäre mit "wait x", das hält das Programm aber auf. Alternativ könntest Du einen Timer starten und in der Überlauf-ISR die Flags löschen.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen