Die Beschaltung der Anschlüsse hast Du ja gut kommentiert. Ich verwende in meinen Programmen statt der Portbeteichnungen immer einen entsprechend aussagekräftigen Alias. Macht das Lesen des Programms viel einfacher, insbesondere bei der Fehlersuche.
Wenn das die Lösung ist, möchte ich mein Problem wieder haben.