In dem referenzierten Thread ist es vornehmlich um die logische analyse der Inkrementalgeber-Signale gegangen, nicht sosehr um die technische Umsetzung. Natürlich ist auch eine Softwarelösung möglich, doch nimmt die Edge-detection den Controller ganzschön in Anspruch. 500 Cycles sind nämlich schneller abgefackelt, als man meint. Das Pushen und Poppen der Register für einen Interrupt braucht mehr als 120 Cycles und da hast du noch garnix gemacht. Auch das einfache inkrementieren von mehrbytigen Variablen geht ins geld. Von einer effektiven Auswertung red' ich garnicht.
Da tut ein bißchen Hardware-unterstützung ganz gut.