mikrocontroller.net

Forum: Projekte & Code Taster entprellen


Autor: Hannes Weninger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bräuchte einen Code zum Entprellen eines Tasters. Hat da vielleicht 
jemand einen C- Code?
Vielen Dank für Eure Antworten.
schöne Weihnachten.

lg
Hannes

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja. Den findet man sogar hier in der Codesammlung.
Wer lesen kann (siehe Überschrift) und suche kann, ist klar im Vorteil.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/Prellen

MfG
Falk

P.S. irgendein Rahul hat aber schon Recht.

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>irgendein Rahul hat aber schon Recht

kannst dir einen aussuchen ... ;-)

Autor: Elke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin neuling und habe die Beispiele von Peter gelesen aber ich 
verstehe nicht viel...
http://www.mikrocontroller.net/articles/Prellen
Kann mir jemand etwa mehr erklären? Besonders der Grund des Zählers bei 
der Entprellung! Warum zwei Zähler? Was muß man da zählen? und warum?
Welche Rolle spielt ein "atomic"?

Ciao, Elke

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.