Taster abfragen

Gast #2520215
Lesenswert?

Hey Leute,

also wir üben gerade in der schule auf einem atmega32-board 
(programmieren im AVR-Studio), und wenn ich zB. auf irgendeinem Taster 
an port a länger als 2 sekunden drücke, dann sollen die leds am PORTD 
leuchten, also dann PORTD=0x09, dann leuchten der erste und der vierte 
led....

doch wie prüfe ich das softwaremäßig, wie lange der taster gedrückt 
wird?
Gast #2520238
Lesenswert?

Du nimmst erst mal einen timer und konfigurierst ihn so das er alle z.B. 
alle 100ms einen interupt auslößt und du initialisierst 2 Hilfsvariablen 
mit 0. Im interupthandler guckst du ob der Taster gedrückt ist und ob 
die 2. Variable eine 0 enthält wenn ja addierst du auf die 
Hilfsvbariable eine 1 hinzu und überprüfst ob die 1. Variable 
mitlerweile bei 20 angekommen ist wenn der Taster nicht gedrückt ist 
setzt du die variable wieder auf 0. Falls der Taster bei 20 angekommen 
ist etzt du zweite Hilfvariable auf 1. Im Mainloop guckst du nun ob die 
zweite Hilfsvariable auf 1 gesetzt worden ist falls ja machst du die LED 
an und setzt die Variable wieder zurück auf 0.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren