-
-
Erfahrener Benutzer
Robotik Einstein
Also da gibt es 2 Möglichkeiten, die erste ist über eine if-Anweisung, was den NAchteil hat, dass du, wenn du keine schnell durchlaufende Schleife hast, nur an einer bestimmten Stelle prüfst, ob die Taste gedrückt ist. Die 2. Möglichkeit wäre ein Interrupt, der ja bekanntermaßen sofort anspringt, allerdings ist es dann etwas schwerer von der Interruptroutine Bezug auf das laufende Programm zu nehmen.
Den Taster würde ich im 1. Fall (if-Anweisung) gegen Masse un an einen beliebigen Pin schließen. AUßerdem muss an dem Pin, nehmen wir mal PinD.4 der Pullup aktiviert werden, denn wenn der Taster nicht gedrückt ist, liegt ja kein Signal an und das ist bei Eingängen garnicht gut.
config Pind.4=input
Portd.4=1 'Beim Setzen im Port!
Nun ist der Taster quasi schon konfiguriert.
Jetzt die If-Anweisung:
If Pind.4=0 then 'Wenn Taster gedrückt, dann
'Tue dies
else
'Tue das
End if
Man könnte jetzt in der If-Anweisung z.B. die Pausen verkürzen, wenn man diese vorher zu Variablen gemacht hätte. Der NAchteil ist halt, dass nur vor der 10 Sek. langen Pause geprüft wird ob ein Taster gedrückt ist, wird er zu spät, also während der Pause gedrükt, dann reagiert das Programm nciht daruaf.
Hier müsste man dann mit Interrupts arbeiten, allerdings dann auch die Pausen z.B. durch SChleifen ersetzen, die Besser verändert werden können.
MFG Moritz
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen