Taster entprellen

#483460
Lesenswert?
• ▲
▼
> Kann mir jemand etwa mehr erklären

Das ist gar nicht so leicht zu erklären. Das Ganze ist
nämlich ziemlich trickreich. Ich bin kein Neuling mehr
und habe schon ziemlich lange gebraucht um zu verstehen
wie das funktioniert.

Das Zählen hat nur den Grund, dass der Code insgesamt
4 mal hintereinander die Tasten abfrägt und nur dann
wenn alle 4 mal dasselbe Ergebnis herauskommt, gilt die
Taste als gedrückt.

> Warum zwei Zähler?
Eigentlich ist es nur 1 Zähler, der aber auf 2 Variablen
aufgeteilt ist. Das ist einer der Gründe warum der Code
ziemlich 'tricky' ist.

> Welche Rolle spielt ein "atomic"?
'atomic' in diesem Zusammenhang heist nur, dass garantiert
werden soll, dass ein Programmabschnitt ohne Unterbrechung
durch einen Interrupt durchläuft.
atomic == atomar == in einem Stück, unteilbar.
Daher werden vor dem Codestück die Interrupts abgeschaltet
und dahinter wieder aufgedreht.

Benutzte den Code einfach. Er funktioniert ausgezeichnet.
Wenn du nicht verstehst wie diese 'Magie' funktioniert:
Kein Beinbruch. Als Neuling muss man diesen Code nicht
verstehen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.