Es gibt keine "nur die ist Gut" Lösung, wie das Programmiert wird, aber
die Signalverarbeitung sollte möglichst interrupt gesteuert-beteiligt
ablaufen, so das nicht unnötig CPU Zeit verschwendet wird.
Kein Polling sinnvoll, ! da unpräzise und unspontan.
Lösung 1. Signal A löst mit JEDEM Flankenwechsel einen
Interrupt aus.
Signal B wird im Signal-Interrupt gemessen und mit Signal A
verglichen... somit die Richtung festgestellt,
Nachteil.
Entprellen kostet Zeit und Auflösung ist nicht optimal ( ...sagt
man )
Gedanke zur Lösung: Zustand "vorher"
Speichern, um dann bei Signalwechsel (
nach Entprellen ) entscheiden zu können WIE die "neue"
Siutation ist, (dann Situation
wieder speichern )
Zuerst ein paar Signaldiagramme:
beachte:
Prellender Drehgeber
Links -Rechts Kennung:
oder ausführlicher
anderer Lösungsansatz aus ASM Projekt . geklaut...
....Hat mir jemand gesendet:
Hier ist ein Trick, mit dem Sie einen oder mehrere Drehgeber an einen
Mikrocontroller anschließen können, während Sie nur einen Analogeingang
verwenden.