Herzlichen Dank für diesen Tipp. Das ist absolut richtig.
Wenn Ihr den Code anschaut, dann seht Ihr, dass selbst der fehlerhafte Code kein dauerhaftes Leuchten verursachen sollte! Im zweiten If Statement steht eindeutig: Warte 2000 Millisekunden! Und zwar, nachdem ich die Laterne durch Abschalten der Energieversorgung durch PORTB = 0b00000000 ausgemacht habe! Dieser Programmteil wird immer dann aufgerufen, wenn (!(PINB & 0b00010000)) WAHR ist, also an PB4 kein Signal anliegt. Da ich PB4 über einen Pulldown auf Gnd ziehe, sollte bei jedem Durchlauf die Beleuchtungseinrichtung 2 sec leuchten und dann 2 sec eben nicht leuchten, oder?