mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster Abfrage


Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,
bin dabei ein Programm zu schreiben, mit dem ich taster abfragen
möchte! sweit läuft das Programm auch aber ich möchte gern das Display
was anzeigt erst wenn die Taste losgelassen wird und nicht direkt beim
Drücken! Hat jemand eine Idee wie das In C Sprache aussehen kann??
bei mir ist das ja so, dass ich mit einer if Abfrage der Taster abfrage
ob es auf null ist dann.....
Danke

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

Bewertung
0 lesenswert
nicht lesenswert
Der springende Punkt ist, dass du den
Eingang an dem der Taster haengt ueberwachen
musst. Du musst also zu jedem Zeitpunkt
wissen, in welchen Zustand er kurz vorher
war. Was dich dann interessiert ist ein Zustands-
wechsel. Nur dann wenn der Zustand von gedrueckt
zu nicht gedrueckt wechselt, loest du die
Aktion aus.

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Heinz,

anbei ein älteres Programm, was in der Codesammlung nicht mehr zu
finden ist.
In Zeile 78

  aenderung = (temp_tasten ^ entprellte_tasten) & temp_tasten;

werden die positiven Änderungen durch '& temp_tasten' ausmaskiert und
anschließend verarbeitet. Durch ändern der Maske auf
'&entprellte_tasten' würden die Tasten erst beim Loslassen gewertet
werden.
Wenn man die Maske ganz wegläßt, kann man bei der anschließenden
Auswertung prüfen, ob ein Tastendruck oder ein Loslassen stattgefunden
hat und entsprechend andere Codes ausgeben.
Ich hoffe, Du kannst das Programm gut verdauen :-)

Autor: Rainer Spitzhirn (rainersp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ansatz: Du speicherst Dir den Zustand Z des Tasters.

Ablauf:
1. Z auf aktuellen Zustand des Tasters initialisieren.
2. Neuen Zustand Z' der Tasters einlesen.
3. Wenn Z=gedrückt und Z'=losgelassen, dann Ausgabe auf Display
durchführen.
4. Z <= Z'
5. Schritte 2-4 wiederholen.

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.