Hallo,

schau ma mal ...

in C gibts kein or bei der If abfrage, das heisst da ||

in der Zeile:
Code:
while (PollSwitch()==0);//...
gehört normalerweise kein ; am schluss, sonst ist die Schleife hier gleich geschlossen.