Im asuro.h (lib 2.8rc1) steht:
Also, etwas wie: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;
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:
Schau mal die Quell code an. Du muss nur selbst raus finden wie du die drehungen organisiert wenn ein kollision sicher erkannt ist....
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 */
}
...







Zitieren

Lesezeichen