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 ...
Michel Schl. schrieb: > Könnt ihr mir gegenenfalls einen Ansatz/Idee geben wie ich es besser Taster entprellen
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.
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.
Michel Schl. schrieb: > Wobei ich in der ISR(INT1_vect) jeweils eine halbe Sekunde per > Warteschleife warte. uhhhh, ganz böse ....
Man darf auch was fertiges zum Tasten einlesen nehmen: http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.