-
-
Erfahrener Benutzer
Robotik Einstein
Ich würde es etwas anders machen:
Main:
*Endlosschleife start
- Wähle ADC-Channel
- Starte Messung
- Tue was nicht zeitkritisches (irgendwas)
*Endlosschleife stop
ADC-Interruptroutine
- Checken, was der ADC-Wert bedeutet (Licht oder Taster oder Odometrie)
- Deutung, Anpassung...
Taster-Interrupt
- Wähle ADC-Channel Taster
- Stoppe Motoren (evtl.)
Also bei den Tastern hat man den Vorteil, dass man nicht permanent die Werte überwachen muss, sondern ein zusätzlicher Interrupt an INT1 ausgelöst (SIG_INTERRUPT1; VECTOR(2)) wird. Das ist wichtig, um den Motor möglichst schnell stoppen zu können. Es muss dann halt über ne ADC-Messung der Taster festgestellt werden welcher der 6 Taster (oder welche) gedrückt sind und entsprechend reagiert werden.
Der ADC arbeitet übrigens nach Auswahl des Kanals und dem Start vollkommen im Hintergrund und wird nur durchd en Interrupt unterbrochen.
Noch Fragen
?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen