PWM benötigt keine Zykluszeit, wenn du die Timerhardware verwendest. Du benötigst nur Zykluszeit wenn du den Tastgrad änderst.
Wenn du Probleme mit der Zeit hast kannst du es auf mehrere Controller aufteilen, allerdings sollte es mit einem funktionieren. Die Position sollte sich nicht so schnell ändern.

Ein Resolver erkennt eine Position auf einer Achse. Du benötigst pro Achse 2 Spulen oder Hallsensoren, weil du auf einer Fläche die Position benötigst. Du musst jetzt auf beiden Seiten die Höhe des Magnetfeldes messen. Stehst du genau in der Mitte sind beide Felder gleich stark. Stehst du jetzt näher an einer Spule ist dort das Feld höher als beidie der anderen.

Zum Testen wird es vermutlich einfacher sein wenn du Signalgenerator und Oszilloskop verwendest, nicht das du einen Fehler im Programm suchst und dabei der Aufbau nicht funktioniert.

MfG Hannes