Hallo, wie kann ich denn folgendes implementieren: bei einem kurzen Tastendruck soll eine Funktion aufgerufen werden, bei einem langen Tastendruck (vielleicht >2 sec) eine andere Funktion. Jens
Du misst die "Drückzeit" und rufst dann beim loslassen des Tasters die entsprechende Funktion auf. Der Trick ist also die Funktion nicht beim drücken des Tasters sondern beim loslassen aufzurufen.
Hallo Lars, dieses Prinzip (Dein sog. Trick) ist mir schon klar, aber mich interessiert wie ich das implementiere (interrupt,...) vielleicht gibts ja schon irgendwo ein beispiel... Gruß
Ein interrupt ist nicht zwansläufig notwendig. Das hängt davon ab was der Controller sonst noch so zu tun hat. Wenn er sich eh langweilt kannst du es einfach so machen das du bei Drücken der Taste in eine Schleife springst. In dieser Schleife machst Du folgendes: 1. Abfragen ob die Taste noch gedrückt ist 2. Wurde die Taste losgelassen und der Zählerstand ist noch nicht zu groß erste Funktion aufrufen 2. einen Zähler hochzählen 3. wenn der Zähler einen bestimmten Wert erreicht hat zweite Funktion aufrufen. Bevor du diese Schleife aufrufst solltest Du eine kurze Wartezeit einbauen damit das Prellen des Tasters nicht stört. 20-50 ms sollten reichen. Hoffe das hilft Gruß Markus
@Markus: will nicht meckern, aber "schön" schreibt sich auf englisch beautiful (also mit i statt y).
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.