mit der neune lib (ich glaube 2.6 )
gibt es die möglichkeit pber einen interrupt sowas zu lösen.

hier ein bsp mit switched und einer ausgabe

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

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

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

} // end int main()
gruß
downad