kann es sein, das dir die c syntax nicht sehr geläufig ist ?

Code:
ta = PollSwitch();
heisst nur das du die methode PollSwitch(); aufrufst, die die werte der taster abruft .... und nach BEENDEN des aufruf in die variable ta (variable = wertespeicher) zurückliefert.

das bedeutet nicht das wenn du ta == 0 machst automatisch die methode PollSwitch(); aufgerufen wird .... für den fall dass du all das schon weisst, tut mir leid aber es machte mi den eindruck als ob du da was grundlegend falsch verstanden hast