Taster abfragen

Gast #2520215
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
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

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.