So,habs auch mal geschafft das Teil anzutackern.
Ja,der Encoder-Befehl aus Bascom geht davon aus das der Encoder bei "jedem" Flankenwechsel rastet aber da er eben immer beide Flanken mitnimmt werden auch immer schön zwei schritte angezeigt und gezählt.
Das ist also schon richtig so das er beim Pollin-Encoder gleich 2 zählt.
Wenn man ihn langsam dreht dann kann man schön die einzelnen Stellungen sehen (Rechts 0,1,3,2 Links 0,2,3,1)
Hier noch mein Programm.
Es Basiert auf dem von Andree-HB
Ich hab es nur etwas umgestellt weil die vielen LCD-Ausgaben zuviel Zeit gekostet haben.
Jetzt gibt es für jede Anderung nurnoch 2 Ausgaben was die Reaktionsgeschwindigkeit verbessert hat.
Ach ja.
Hab es auf 2x16 angepasst weil ich gerade nix anderes greifbar hatte.
Code:$crystal = 8000000 $baud = 300 $hwstack = 64 $swstack = 30 $framesize = 120 Dim A As Byte Dim B As Byte Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.0 , Db7 = Portc.1 , E = Portd.7 , Rs = Portb.0 Config Lcd = 24 * 2 Initlcd Cls Cursor Off Config Pind.5 = Input Config Pind.6 = Input Cls Locate 1 , 1 Lcd "Encoder test" A = 100 'irgendein Startwert Locate 2 , 1 Lcd A Main: B = Encoder(pind.6 , Pind.5 , Rechts , Links , 1) Goto Main Links: Decr A Locate 1 , 14 Lcd B Locate 2 , 1 Lcd A ; " Links " Return Rechts: Incr A Locate 1 , 14 Lcd B Locate 2 , 1 Lcd A ; " Rechts " Return End







Zitieren

Lesezeichen