Bei solchen Dingen musst du aufpassen. Du kannst einen Kurzschluss erzeugen.

Wie sieht deine Schaltung aus?

Der Programmteil ist in Ordnung und sollte so funktioieren. Es kann sein das du es noch irgendwo anders änderst (ungewollt). Was macht "LEDgn_ein();" bzw "LEDgn_aus();" genau (Led ein/ausschalten ist klar, wie sieht aber die Funktion aus).

Ich würde das aber etwas anders lösen. Du hast einmal das Eingangsbit von PA5 und einmal ein "Merkerbit" mit dem du das einlesen "freigibst". Diese beiden Bits verknüpfst du mit einem "Und".

MfG Hannes