Forum: Mikrocontroller und Digitale Elektronik Taster abfragen


von mrzhang (Gast)


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?

von Uwe (de0508)


Lesenswert?

Erst mal den Taster als Ereignis mit Entprellroutine programmieren, dann 
kann man über einen,z.B. 1ms Timer ISR, die 2000ms der Taster erfassen.

von Uwe (Gast)


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.

von mrzhang (Gast)


Lesenswert?

gut danke, war sehr hilfreich :)

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
Noch kein Account? Hier anmelden.