Wir können mal einen einfacheren Code betrachten:

Code:
#include "asuro.h"

int main(void)
{
	Init();
	
	StartSwitch();
		
	while(1);
	return 0;
}

SIGNAL(SIG_INTERRUPT1)
{
	StatusLED(RED);
	StopSwitch();
	while(1); //Diese Endlosschleife kann man weglassen, oder?	
}
Nachdem die Init() ausgeführt wurde, ist die StatusLED krühn.
Der Code sollte die StatusLED auf rot schalten, falls ein Schalter gedrückt wird, tut er aber nich. Sie bleibt grün.

Wo is der Fehler?

Einen Hardware-Fehler kann ich ausschließen, weil die Taster im Polling-Betrieb einwandfrei funktionieren.