while (!isHindernis() ) { }
Dies ist gleichzusetzen mit :
while (isHindernis() == 0) { }
Also solange kein Taster gedrückt ist, Endlosschleife.
In C entspricht eine 0 'false', jeder andere Wert ist 'true'.
Z.B. bedeutet
if(a) tueEtwas();
'Wenn a nicht 0 ist tueEtwas'

Teste mal deine Taster auf Funktion mit dem Programm: Pollswitches_testen