- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 28

Thema: Tastenentprellung +++ Fehlerhaft

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.236
    Ich vermute mal, der Fehler liegt darin, das der Entprelltimer bei einem als gültig erkannten Tastendruck nicht zurück gesetzt wird.
    Die Initialisierung des Timers gehört üblicherweise nicht in den Loop!
    Du drückst eine Taste.
    Dein Vergleich Neu Alt merkt das, der Entprelltimer ist auch abgelaufen, also wird der Tastendruck erkannt und übernommen.
    Die Taste prellt nun - Es wird eine offene Taste erkannt und da der Timer nicht zurück gesetzt wurde auch akzeptiert.
    So kann da ein paar mal hin und her gehen.

    Würdest Du bei einem als gültig erkannten Tastendruck den Entprelltimer zurücksetzen würde für die nächste Zeit, bis zum Ablauf des Timers kein weiterer Tastendruck als gültig erkannt.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Zitat Zitat von wkrug Beitrag anzeigen
    Die Initialisierung des Timers gehört üblicherweise nicht in den Loop!
    " AusgSekTakt(); " ist ein einfacher Sek-Takt für einen Summer

    Zitat Zitat von wkrug Beitrag anzeigen
    und da der Timer nicht zurück gesetzt wurde
    tuh ich das nicht mit?
    HTML-Code:
    StartZeitEntprell = millis();
    - - - Aktualisiert - - -

    ...oder wo steht der Wald, bei all den Bäumen ...
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    ich meine, ich stelle mir manchmal auch durchaus sportliche aufgaben (siehe mein outdoor-projekt) - aber warum verwendest du nicht die bounce-library?
    gruß inka

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    //Tastenabfrage
    int TasteZustandAlt = 0; // Tastenzustand einmalig initialisieren

    Bei der Zeile stimmt ohne "static" schon der Kommentar nicht.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Hallo Inka, danke für den Hinweis
    Ich würde den Prozess gerne verstehen... wenn ich diese Logik verstehe, bin ich schon mal einen großen Schritt weiter...
    .. und nach Möglichkeit keine zusätzliche Lib einfügen; #include "OneButton.h" ... und mehrer Tastereingänge unabhängig abfragen

    (vielleicht befinde ich mich auch auf dem Holzweg


    Zitat Zitat von Holomino Beitrag anzeigen
    Bei der Zeile stimmt ohne "static" schon der Kommentar nicht.
    Hallo Holomio.
    "static" innerhalb des loop?
    Ist doch eine einmalige Initialisierung - oder was meinst du?
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  6. #6
    HaWe
    Gast
    die loop() ist eine "verkappte" while() / for( ;; ) -Schleife in einer unsichtbaren main() Funktion, in der eine Funktion loop() wiederholt aufgerufen wird - wenn hier Variablen nicht static sind, werden alle Variablenwerte beim erneuten loop()-Durchlauf vergessen.


    Code:
    void setup() { }
    
    void loop() { }
    
    
    int main() {
       setup();
       for( ;; ) {
          loop();
       }
    
    }

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    ahaaa! Danke!
    Dachte loop() = main()

    Mit
    static int TasteZustandAlt = 0;
    funktioniert es überhaupt nicht.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  8. #8
    HaWe
    Gast
    dann liegt der Fehler evtl woanders.
    Aber deklariere es mal testweise global:
    static int TasteZustandAlt = 0;

Ähnliche Themen

  1. ISR Fehlerhaft
    Von Zille im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 20.01.2014, 18:11
  2. Tastenentprellung-Wiki
    Von Finn91 im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 03.03.2009, 20:37
  3. Schaltung fehlerhaft
    Von Atmelbeginne im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 12.09.2008, 16:56
  4. Uartausgabe Fehlerhaft
    Von Picht im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 19.02.2007, 16:45
  5. [ERLEDIGT] Tastenentprellung mit Bascom
    Von milisan im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 23.11.2004, 06:06

Stichworte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress