Zweimal kurz ist auch gemein. Ist das zweimal Funktion 1 oder einmal Funktion 2 ?
Hallo erstmal.
Ich Suche einen code der es mir ermöglicht , drei Functionen mit einem taster zu erledigen;d.h. Taster einmal kurz = function 1,taster 2x kurz = function 2;taster gedrückt halten = function 3. Mit 1xkurz hab ich keine probleme aber die anderen 2 bereiten mir sorgen.
Danke schon mal.
mfg
getaco
---------------------------------------------------------------------------------------------
Programiere lang und erfolgreich.
Zweimal kurz ist auch gemein. Ist das zweimal Funktion 1 oder einmal Funktion 2 ?
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
jaja ist richtig gemein !Zitat von PicNick
Also ist schon so dass ich da 3 funtionen oder zumindes 2 functionen brauche, ich hab schon dran rumgetüftel aber ich bekomme das einfach nicht so hin wie ich das will.
Hi!
Ich empfehle eins: Mach lieber ne Porterweiterung, als einen Taster doppelt und dreifach zu belegen!
Das Ladegerät ISL-6-xxx von Schulze Elektronik (chamäleon, das mit den zwei Tastern) hat nur 2 Taster. Alles wird über diese beiden Taster bedient. Also ... ... Kennt ihr das?
Bis das Ding weis was man will, hat man schon aufgegeben...
Sonst ists aber gut!!
Grüße,
Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
wie wäre es denn wenn Du für Dein Vorhaben einen AD-Port in VerbindungZitat von Getaco
mit Spannungsteilern benutzt.
Ein Beispiel dazu habe ich im ProgForum.com gefunden:
20 Taster an einem Port.
http://www.progforum.com/showthread....ghlight=matrix
Auch die Folientastatur zum App-Board der c-control arbeitet nach diesem
Prinzip.
mfg Gerhard
@Gerhard
hmm vielen dank für die idee doch dein Vorschlag würd mir nur was nützen wenn ich mehrere Taster Benötigen würde. Ist bei meinem Vorhaben aber nicht erwünscht. Ich habe nur einen Taster und der soll 3 functionen erfüllen.
Wie wäre es damit?
Wenn der Taster gedrückt wird, etwa 150ms warten und schauen ob er immer noch gedrückt ist.
Wenn ja, nochmal etwa 150ms warten. Wenn er dann immer noch gedrückt ist, ist es einmal lang.
Wenn nein, war es einmal kurz.
Dann wieder abfragen.
Und auswerten, ob das zweite mal, kein Tastendruck war, ein kurzer oder langer.
Die Zeiten für kurz, 2 X kurz, lang und die Pause zwischen 2 X kurz müssen dann der Praxis angepasst werden.
Die maximale Zeit, die eine Aktion dauern darf (1 sec für lang oder 400ms für kurz + 200ms für Pause zwischen den kurzen + 400ms für zweiten kurz) muss dann ermittelt werden.
Der taster löst ein INT aus und in der ISR wird ein Timer mit der max. Zeit aktiviert.
Vor beginn der ISR wird ein Merker gesetzt. Nur wen eine Tastenaktion bei gesetzem Merker erfolgt, gehört sie zu einer Gruppe (2 X kurz) nach ablauf der Zeit wird der Merker gelöscht und es kann von vorne beginnen.
Oder
Taste gedrückt. Schauen ob nach Zeitablauf für kurz immer noch gedrückt. Wenn ja, GOSUB Taste_lang.
Wenn nein, GOSUB "_X_kurz. Dort die minimale Pausenzeit zwischen 2 mal kurz warten und nochmal schauen ob Taste gedrückt.
Wenn nein, die maximale Pausenzeit warten und nochmals schauen.
Wenn Taste erneut gedrück, denn war's 2 X kurz. Ansonsten RETURN zu einmal kurz.
Lesezeichen