Hallo wölkchen,
schau mal genau auf die Warnings, wenn Du Dein Programm compilierst.
Da sollte irgendwas in der Art von
Code:
main.c:25: warning: initialization makes integer from pointer without a cast
vorkommen.
Du weist nämlich an t1 und t2 die Adresse der Funktion PollSwitch() zu und nicht den Rückgabewert der Funktion.
In C/C++ sind die Klammern eines parameterlosen Funktionsaufrufes nicht optional. Ich glaube bei Basic geht sowas.
In C bekommst Du in diesem Fall einen Zeiger auf die Funktion, also ihre Adresse. Und die ist definitiv nicht 0 und wird auch über die gesamte Programmlaufzeit immer den gleichen Wert haben.
Es müsste also heissen:
Code:
...
     BackLED(OFF,OFF);
     // t1=PollSwitch;  <-- das sind Zeiger auf die Funktion
     // t2=PollSwitch;  <-- ändern in die folgenden Zeilen
     t1 = PollSwitch();
     t2 = PollSwitch();
   }

   MotorStop();
...
Dann liefert Dir PollSwitch() auch wie gewünscht eine 0, wenn keine Taste gedrückt ist.