Ich hab mir den Code nicht durchgeguckt, aber ich hatte mal genau das gleiche Verhalten: Im Simulator liefs, in Echt nicht.
Grund war die falsch Reihenfolge des Register-Setzens. Erst musste der entsprechende Bereich enabled werden, damit dieser bestromt wurde und so für die weiteren Register-Setzbefehle empfänglich war.
Lesezeichen