Hallo zusammen!
Ich habe jetzt schon einige Tage vergeblich versucht, den Drehencoder
von Panasonic (die Ausschussteile von Pollin ;) zur Mitarbeit zu
bewegen.
Die Bascom-Funktion "Encoder" funktioniert nicht richtig, ASM- und
C-Umsetzungen der Encoder-Abfragen von Peter Dannegger und der
Alternativen brachten leider keinen Erfolg (entweder mein Unvermögen
oder einfach ungeeignet).
Dann habe ich noch einmal ganz von vorne angefangen und heraus gekommen
ist das angehängte Bascom-Programm.
Mit meinem Testaufbau kann ich nun recht zuverlässig alle 32
Raststellungen in Einer-Schritten erkennen. Prellen ist "imho" kein
Thema.
Um alle Raststellungen auch bei hohen Drehgeschwindigkeiten zuverlässig
erkennen zu können, muss die ISR mindestens 2000 mal pro Sekunde
angesprungen werden. Deshalb ist es auch nicht sinnvoll, die
Encoder-Abfrage in die Tasten-Entprell-ISR zu integrieren.
Getestet wurde auf einem myAVR-Atmega8 Experimentierboard mit 3,6864 MHz
Taktfrequenz.
Im Programm sind selbstverständlich Prescale und Timer-Voreinstellung
der eigenen Taktfrequenz anzupassen.
Vielleicht kann jemand das Programm gebrauchen.
Viel Spaß damit!
Grüße von Tom