Naja, Mooses78 hat geschrieben, dass das Problem darin liegt, dass der Pin nach der Messung auf 0 ist und erst langsam über das RC-Glied wieder geladen wird. Das bedeutet, dass eine StartSwich()-Anweisung einen Interrupt auslöst, wenn sie direkt hinter einem PollSwitch() ausgeführt wird.
Dieses Verhalten ließe sich vermeiden, wenn man den Pin manuell auf high legt und genau das macht doch SWITCH_ON, oder?
SWITCH_ON steht für PORTD |= 1<<PD3.
Und das bewirkt doch, dass der Pin mittels internem PullUp auf high gezogen wird oder?
Außerdem hab ich seit dem ich das gemacht hab keine Probleme mehr; es funktioniert alles bestens. Auch bei komplexen Programmen mit viellen PollSwitch-, StartSwitch- und StopSwitch-Anweisungen.

Gibt es denn noch eine andere Lösung? (Ich meine Lösung, nicht Workaround )

Gruß farratt