Beste Möglichkeit einer Tastenabfrage

Gast #644924
Lesenswert?
• ▲
▼
Hallo *,

ich habe eine Frage, auf die ich noch keine Antwort gefunden habe :-(

Was ich möchte (bei meinem ATMEGA8 Projekt):

- ein Eingang MUSS alle auftretenden Impulse zählen (ca. 100-200Hz)
- Schalteinganz muss abgefragt werden (+ Entprellen)
- Programm zählt die Impulse und setzt nach einer Anzahl x (soll auch
  noch per Schalter eingestellt werden können) einen Port für 100ms auf
  LOW schalten

Meine Frage nun:

Wie bekomme ich eine Entprellung oder den Schaltzustand des Schalter an 
gescheitesten hin / abgefragt, so dass ich auch die Impulse am Eingang 
mit dem Takt mitbekomme?
Alles was ich gesehen war immer mit einer "großen" totzeit verbunden.

Danke schon mal im Vorraus.

Gruß
(Firma: my-solution) #644925
Lesenswert?
• ▲
▼
Einfachste Entprellung ist mit einer Zählschleife mgl. dann hast du aber 
die von dir besagt Totzeit. Du kannst aber z.B. auch mit einem Timer 
eine Zeit definieren, bei Überlauf eine Variable(int) inkrementieren und 
bei bestimmter Variablengröße*Timer=Entprellzeit eine Bedingung als 
erfüllt erkennen(Taster gedrückt). Währenddessen kannst du weiterhin 
deine anderen Werte abfragen.

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.