Um festzustellen in welche Richtung sich der geber bewegt, muß man ja den neuen mit dem Alten Zustand vergleichen. Wenn man für jede Abtastung, also z.B. im PinChange Interrupt den Zustand nur 1 mal Ausliest, für den neuen Schritt und zum merken für den nächsten Schritt, sollte in der Summe nichts falsches rauskommen. Es kann höchstens passieren das man beim Prellen eines Signals eine schnelle hin und her bewegung mitkreigt, das kostet aber nur ein bischen Rechenzeit, in der Summe paßt es wieder.

Wenn man das hin und her nicht haben will, dann könnte man ähnlich wie bei der Tastenentprellung die Port nur periodisch, z.B. alle 2 ms abfragen.