@Luca
PNP-Transistoren einzusetzen ist eine gute Lösung auch hinsichtlich der Ausgangs-Zustände beim Einschalten oder während Reset. Da sind nämlich die I/O-Pins Eingänge und es gibt keinen definierten Ausgangs-Zustand.
Ich würde entweder an den Ausgängen direkt oder an den Basen der Transistoren Pull-Up-Widerstände mit 10...47k platzieren, damit immer ein definierter Zustand da ist.
In einem ULN2803 (schaltet GND) oder UDN2983 (schaltet Plus) sind 8 Darlingtons mit Basisvorwiderstand und Freilaufdiode drin.
Um das Verständnisproblem für 1...0...aus...ein zu umgehen, steuere ich nicht direkt die Ports an, sondern die Bits einer Variablen. Diese Variable wird in einem Timer-Interrupt jede Millisekunde invertiert und dann komplett am Port ausgegeben. Damit ist 'intern' 0 = aus und 1 = ein.
Mit Eingängen mache ich das Gleiche in umgekehrter Folge.
Lesezeichen