Counter hochzählen mittels Taster -Atmega88

OP #2580044
Hallo,
ich bin ebenfalls recht neu im Bereich Programmierung von AVRs in C und 
hab daher ein paar Fragen und hoffe auf eure Unterstützung.
Ich möchte mittels eines Counters von 0 bis 3 hochzählen und den Counter 
dann wieder auf 0 zurücksetzten.
Den Wert des Counter nehme ich, um 3 verschiedene 
Programmabläufe(while-schleifen)/Funktionen/Unterprogramme aufzurufen/zu 
beenden.
Hintergrund ist die Ansteurung einer Heizung zum Erhitzen von Wasser.
Die unterschiedlichen Modi benötige ich, da entweder das Wasser bis zum 
Siedepunkt erhitzt werden soll oder eben nur bis zu einer vorher 
eingestellten Solltemperatur.
Erster Ansatz war das hochzählen des Counters mittels ext.Interrupt an 
INT1, was aber vorstellbarerwiese nicht zum genau dem führte was 
bezweckt war.
Wobei ich in der ISR(INT1_vect) jeweils eine halbe Sekunde per 
Warteschleife warte.
Zweiter Ansatz war/ist den Taster in der ISR des Timer0 OVF abzufragen 
und den Counter hoch zu zählen bzw. zurück zu setzen.
Was allerdings das Problem mit sich führt das bei geedrücktem Taster die 
Modi wahnsinnig schnell wechseln und eben auch die entsprechenden 
Anzeigen auf dem angeschlossenen LCD(wie z.B. Soll- und 
Istwerttemperatur des Wassers).
Könnt ihr mir gegenenfalls einen Ansatz/Idee geben wie ich es besser 
lösen könnte?
Habe bislang im Tut bzw. dem Forum nichts passendes gefunden.
Ich möchte keinen fertigen Code, nur eben eine Idee dazu und eventl. ein 
paar ein leitende Worte zu eurer Idee.

Vielen Dank im Voraus ...
Gast
Okay das ich den Taster entprellen muss, war mir klar bzw. das es damit 
zusammen hängt. Nur wird mir aus dem bislang gelesenen nicht deutlich 
wie ich das auf diesen konkreten Fall anwenden soll. Da die bislang 
gelesenen Artiklen zu dem Thema, nicht zu meinem Problem passen.
Gast
Michel Schl. schrieb:
> Was allerdings das Problem mit sich führt das bei geedrücktem Taster die
> Modi wahnsinnig schnell wechseln und eben auch die entsprechenden
> Anzeigen auf dem angeschlossenen LCD(wie z.B. Soll- und
> Istwerttemperatur des Wassers).

Die Frage mitten im Text zu verstecken ist nicht ADHS-kompatibel...

Du musst einfach auswerten, ob zwischendurch der Taster wieder 
losgelassen wurde.

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.