Warum benutzt Du das Signal wenn Du doch die Schalterstellung pollst?
Hab dir mal nen polling code gepostet der geht....



Code:
#include <asuro.h>

int sw_pressed;


int main(void)
{
	Init();
	Encoder_Init();
 
	//            123456789012345678901234567890123456789012
	SerWrite("\n\rHallo Ralf, ich beginne mit dem Programm:\n\r", 45);
   
	while (1) {
 
		while((sw_pressed = PollSwitch()) == 0x00);
    

		if (sw_pressed & 0x01) { //SCHALTER 1
			//nEck(200, 90, 100);
			SerWrite("\n\rSchalter 1", 12);
		}             // endif  (sw_pressed==1)
 		else if (sw_pressed & 0x02) { //SCHALTER 2
			// iSpeed, iEcken, iToGo
			//nEck(200, 6, 150);
			SerWrite("\n\rSchalter 2", 12);
			
		}              //endif (sw_pressed==2)
		else if (sw_pressed & 0x04) { //SCHALTER 3
			// iSpeed, iEcken, iToGo
			//nEck(200, 12, 50);
			SerWrite("\n\rSchalter 3", 12);
		}              //endif (sw_pressed==4)
		else {
			//usw...
			SerWrite("\n\rSchalter: n=", 14);
			PrintInt(sw_pressed);
		}
		
	
	} //end while (1)
 
	// Nie vergessen, reine Vorsichtsmassnahme..
	while(1){}
	return 0;

} // end int main()