Zurück (C) Christof Ermer, Regensburg

Gratis Counter 26.02.2013
04.10.2017

Mal zum Ausprobieren:  Dieter Schuh's Encoder Code

Dreh-Encoder oder Dreh-Impulsgeber   
Eagle : piher.lbr      switch-apls.lbr -_>

ALPS_EC12E_SW

ALPS rotary encoder


Guter Artikel:  http://www.mikrocontroller.net/articles/Drehgeber


STEC12E07  = ohne Taster


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...