Bei vielen neueren µCs kann man ein Interrupt auslösen lassen wenn sich einer von den Gwählten Eingangspins ändert. Das bietet sich an für einen Incrementalgeber. In der ISR zu dem Interrupt kann man dann den Incrementalgeber aktualisieren. Das Hauptporgramm kann dann den Zählerstand einfach aus einer variablen auslesen (allerdings als atomarer Block mit CLI/SEI).