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