Forum: Mikrocontroller und Digitale Elektronik Taster bestimmte Zeit gedrücht zum Umschalten einer Funktion ?


von Jakob (Gast)


Lesenswert?

Hallo zusammen,

ich habe auf einen Atmega48 eine Messfunktion am Laufen, die nur ein 
Tastelement (Touch-Chip an Portpin) als Bedienfuntion hat.

Bislang ist es so, dass, solange der Taster gedrückt wird, eine Messung 
mit einer bestimmten Funtion durchlaufen wird.
Ich müsste aber noch zu einer zweiten Funktion umschalten können.
Da ich ja nur den einen Tater zur Verfügung habe, habe ich mir es so 
vorgestellt, dass, wenn ich den Taster z.Bsp. 10s gedrückt halte, dann 
das Programm in die zweite Funtion umschaltet, und nach 10s drücken, 
wieder in die erste Fuktion.

Kann mir vielleicht jmd. ein Stichwort oder einen Tip geben, wie man das 
bewerkstelligt ? Oder hat vieleicht schon jmd. einen Codeschnipsel für 
das Problem ?

Danke für eure Hilfe,

Jakob

von Holger P. (Gast)


Lesenswert?

Ein Stichwort wäre z.b. Timer

von xfr (Gast)


Lesenswert?

Du kannst einen Timer laufen lassen, dessen Overflow-Interrupt 
regelmäßig auftritt, sagen wir mal alle 20 Millisekunden.

In dessen ISR prüfst Du den Tasterzustand und setzt einen Zähler: Wenn 
der Taster nicht gedrückt ist, setzt Du den Zähler auf 0. Wenn er 
gedrückt wurde, erhöhst Du den Zähler um 20.

Wenn der Zähler 10000 erreicht, wurde die Taste 10 Sekunden lang 
ununterbrochen gedrückt. Dann kannst Du die Funktion umschalten.

von Peter D. (peda)


Lesenswert?


von Jakob (Gast)


Lesenswert?

Danke für die schnellen Antworten !

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
Noch kein Account? Hier anmelden.