Im asuro.h (lib 2.8rc1) steht:
Code:
/*
 * Tastsensor Wert bei Interrupt Betrieb. 0=keine Taste, 1= Taste gedrueckt
 */
/*!
 * \~english
 * \brief any switch pressed?
 *
 * is being set to TRUE by interrupt if a switch is pressed\n
 * remember to set it to false again, since it is not reset automatically
 * \see StartSwitch
 */
extern volatile int switched;
Also, etwas wie:

Code:
while (1) {
if (switched=True) CheckCollision();  
switched=False;
StartSwitch();
if (collision)
  {
  ...
  do_something();
  ...
  }
}
...

NOTE: CheckCollision(), do_something() und collision ist nur pseudo-code von mir... nicht im Lib zu finden.

Und fur 2 mal taster abfragen wie im KollisionTest example program:

...
while (1)
{
t1 = PollSwitch();
t2 = PollSwitch();
if (t1 == 0 && t2 == 0) /* keine Taste */
{

MotorFwd(); /* vorwärts fahren */
FrontLED(ON);
BackLED(OFF,OFF);
}
else if (t1 && t2 && t1 == t2)
{

MotorStop();
if (t1 & 0x07) /* Tasten links gedrückt? */
{
MotorRwdL(); /* Rückwärtskurve links fahren */
FrontLED(OFF);
BackLED(ON,OFF);
}
if (t1 & 0x3 /* Tasten rechts gedrückt? */
{
MotorRwdR(); /* Rückwärtskurve rechts fahren */
FrontLED(OFF);
BackLED(OFF,ON);
}
Msleep(1000); /* 1 Sekunde fahren */

}
...
Schau mal die Quell code an. Du muss nur selbst raus finden wie du die drehungen organisiert wenn ein kollision sicher erkannt ist.