Taster bestimmte Zeit gedrücht zum Umschalten einer Funktion ?

Gast #2949425
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
Gast #2949434
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.

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.