Die Encoder-Routine hat bei mir noch nie zufriedenstellend funktioniert.

Ich nutze sehr zuverlässig folgendes:
Code:
Dim Drehung As Integer

Dim Linksrechts As Byte
Links Alias Pind.3
Rechts Alias Pind.4


do
   Gosub Rad  
.
.
.
.

loop
end

Rad:
      If Linksrechts = 0 Then
         If Links = 0 And Rechts = 1 Then
            Linksrechts = 1
         End If
         If Rechts = 0 And Links = 1 Then
            Linksrechts = 11
         End If
      End If
      If Linksrechts = 1 And Links = 0 And Rechts = 0 Then  
         Linksrechts = 0
         Drehung = 0 - 1
      End If



      If Linksrechts = 11 And Links = 0 And Rechts = 0 Then 
         Linksrechts = 0
         Drehung = 1
      End If

      If Links = 1 And Rechts = 1 Then Linksrechts = 0



Return
Der Encoder zieht die PINS auf GND. bei links und rechts werden die pullups aktiviert.