die Init(); hab ich im posting weggelasen im original gibt es die

und die return 0 ist ein fragment das ich vergessen hatte im posting zu löschen.

Code:
int main(void)
{
  Init();
  Encoder_Init();
  StartSwitch();
  
  SerWrite("\n\r",2);
  //        123456789012345678901234567890123456789012
  SerWrite("Hallo Ralf, ich beginne mit dem Programm: ",42);
  SerWrite("\n\r",2); 
"  
  //sw_pressed kommt aus PollSwitch
  int sw_pressed;

   
  while (1) {
  
	while (!switched) {
		SerWrite("-nix-",5);
		} //end while (!switched)			 
	    
	sw_pressed=PollSwitch();
//ausgabe an terminal
        SerWrite("\n\rSchalter: ",12);
        PrintInt(sw_pressed);
        serWrite("\n\r",2);

	if (sw_pressed==1) { //SCHALTER 1
		nEck(200, 90, 100);
		sw_pressed=0;
	    	}             // endif  (sw_pressed==1)
 
	if (sw_pressed==2) { //SCHALTER 2
		// iSpeed, iEcken, iToGo
		nEck(200, 6, 150);
		sw_pressed=0;
	    	}              //endif (sw_pressed==2)
 
    	if (sw_pressed==4) { //SCHALTER 3
		// iSpeed, iEcken, iToGo
		nEck(200, 12, 50);
		sw_pressed=0;
	    	}              //endif (sw_pressed==4)

	switched=0;
     } //end while (1)
  
// Nie vergessen, reine Vorsichtsmassnahme..
  while(1){}
  return 0;

} // end int main()
das war der code, wobei die sub nEck nur ein passendes nEck fährt.

das Problem ist/war, dass nach dem ich einmal einen taster gedrückt habe die Anzeige "-nix-" (aus der while(!switched)) nicht mehr erscheint sondern nur noch...
"Schalter: 0" <--also ist er nimmer in der inneren while schleife