-
Thread
Handbetriebenen Drehgeber ohne Timer auswerten
Tasten auswerten und dann ein LED-Muster weiterschalten). * Anfänger: Interrupts. Quasi statt RTOS. * Allwissend: RTOS und Interrupts. Aber "Erdstrahlen" aka Race Conditions * Erfahren: Zyklisch (aka
Uwe K. schrieb im Beitrag #7986414: > Grundregel: > Was prellt, darf nicht an den Interrupt. Völlig richtig! Wer macht denn sowas?
-
Thread
Debounce von Tasten mit dem Candidate-Pattern (Platformunabhängig, Theorie)
- RC-Filter bei sehr einfachen Schaltungen ohne Softwarelogik - Timer-Debounce bei einzelnen Tastern mit Interrupts - Integrator-Methoden bei stark verrauschten Signalen In vielen Mikrocontroller-Anwendungen mit zyklischer Eingabeerfassung stellt das Candidate-Pattern jedoch eine sehr einfache
Zustandsänderung bearbeitet wird. --- ## 🟦 **Level 17: Debounce als „Gedicht“** [pre] Ein Taster prellt, die Zeit hält still, erst wenn er schweigt, weiß ich, was er will. [/pre] --- ## 🟩 Fazit **Man kann Abstraktion** so weit treiben, dass sie komplett lächerlich wird. Und genau
-
Artikel
Drehgeber
man sieht ist diese Methode nicht geeignet, einen Drehgeber solide zu dekodieren. Auswertung mit Interrupt durch Pegelwechsel. Es wird bisweilen die Auffassung vertreten, dass mit Hilfe von sog. Pin Change Interrupts Rechenzeit gespart werden kann. Dabei wird bei einem Pegelwechsel von Spur A oder B ein Interrupt erzeugt. Dort werden dann A und B eingelesen und vollständig ausgewertet. Diese Methode ist besser, aber nicht gut genug. Sie vermeidet Fehler 1. und 2.2 der oben genannten Auswertung, aber nicht
-
Thread
Datenlogger Pendeluhr
Temperatur_C;Luftdruck_hPa;Luftfeuchte_Prozent"); dataFile.close(); } } // Interrupts aktivieren attachInterrupt(digitalPinToInterrupt(GPS_PPS_PIN), ppsISR, RISING); attachInterrupt(digitalPinToInterrupt(LICHTSCHRANKE_PIN), lichtschrankeISR, FALLING); Serial.println("
Interruptbearbeitung. Je nach Priorität muss der restliche Programmablauf warten. Solange niemand das Interrupt-Flag löscht, werden die Interrupts der Reihe nach abgearbeitet und dann geht es im Hauptprogramm weiter. Die Zeit zwischen Interrupt und Start der Bearbeitung hat man als Latenz. Schwankungen