- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: "Doppelklick" ohne Timer möglich ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    NRW
    Alter
    52
    Beiträge
    169

    "Doppelklick" ohne Timer möglich ?

    Hi,

    ich möchte gern eine Art "doppelklick" benutzen um eine Aktion durchzuführen. Mein Problem ist: Ich hab keinen Timer frei
    Wie bekomme ich das ohne Timer hin ? Geht das überhaupt ohne ?

    Wenn innerhalb 1 Sekunde ein Taster 2mal gedrückt wurde soll aktion x durchgeführt werden.

    Gruß
    Jens

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2006
    Ort
    Karlsruhe/München
    Alter
    34
    Beiträge
    587
    das geht schon, ist halt die frage ob du
    1. multitasken willst, (d.h. du brauchst einen taskhandler, der nicht ganz einfach zu realisieren ist)
    2. lange warten willst (d.h. du wartest 1 sec und testest währenddessen ob der taster gedrückt wurde.
    3. du bastelst das ganz mit externer Peripherie zusammen, spontan dachte ich jetzt an den 74HC123... (Die Schaltung dürfte aber auch einige Denkarbeit verlagen.) Alternativ könntest du dir mal den uralten NE555 anschauen, ob der noch den noch irgendwie hingebogen bekommst...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    NRW
    Alter
    52
    Beiträge
    169
    Ich seh schon, ohne Timer wird das nix ... hmm dann muss ich mir mal was anderes überlegen

    Danke Dir.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    hoi,
    klar geht das auch ohne timer, zumindest wenn du nebenher nix anderes machen willst. du machst einfach 100 schleifendurchläufe, mit jeweils 10ms verzögerung(kann man nach belieben anpassen). währenddessen fragst du den taster ab, wird er ein 2. mal gedrückt, setzt du ein bit und beendest die schleife, wird er in der zeit nicht gedrückt, fährst du ganz normal mit dem program fort. hab ich schon öfters am anfang eines programms eingebaut, wo es egal ist, wenn 3s nichts passiert und einfach auf den tastendrück gewarttet wird um dann in irgendein konfigurationsmenü, oder so zu springen.
    mfg jeffrey

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113

    Re: "Doppelklick" ohne Timer möglich ?

    Zitat Zitat von Blue72
    Ich hab keinen Timer frei
    Meinst du damit, dass alle Timer schon benutzt sind und keiner von denen könnte nebenbei noch eine Variable setzen?
    Ein Timer ist ja nicht exklusiv für eine Aufgabe abgestellt.
    Erklär doch mal, was die im Einzelnen tun, also ob es ein Timer, Counter oder PWM ist und mit welchem Prescaler er läuft.

    Gruß

    Rolf

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    NRW
    Alter
    52
    Beiträge
    169
    Also ich habe nur einen Timer (ATTiny12) und der arbeitet als PWM, Prescaler ist 256 (ist nur ein 8-bit Timer). Ich dachte es ginge nur eine Funktion / Timer ...

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2006
    Ort
    Karlsruhe/München
    Alter
    34
    Beiträge
    587
    Trotzdem kannste den Timer nutzen.
    1. Beim ersten klick zählvariable=0 setzen + überlaufinterrupt vom tiny setzen
    2. Bei jedem Timerdurchlauf zählvariable++ (bei überlauf von zählvariable überlaufinterrupt von tiny deaktivieren und zählvariable=0)
    3. Bei erneutem klicken schauen ob zählvariable im bereich von x bis y ist: Wenn ja: doppelkick.
    EDIT: für zählvariable würde ich mind 16 bit verwenden...

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.07.2008
    Ort
    NRW
    Alter
    52
    Beiträge
    169
    Hmm der Timer0 läuft aber doch als PWM, wie stell ich das denn dann an ?
    Edit: Ist übrigens ein ATiny13, kein 12er, hatte mich verschrieben

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2006
    Ort
    Karlsruhe/München
    Alter
    34
    Beiträge
    587
    Afaik indem du im Interruptregister den Überlaufinterrupt aktivierst. Schau doch einfach mal ins Datenblatt unter Timer0. Da sind die ganzen modes beschrieben.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen