hmm, ich glaube es könnte daran liegen, dass du die variable unsigned char ta nicht auf null gesetzt hast, versuch mal:

unsigned char ta=0;

und dann ruf einmal die funktion pollswitch mehr mals auf, also so etwa:

PollSwitch();
Sleep(255);
PollSwitch();
Sleep(255);
PollSwitch();
Sleep(50);
PollSwitch();
Sleep(50);

und dann schreibst du:

PollSwitch() = ta;

ich glaube, dass müsste eig nun funktionieren, also bei mir funktioniert es auf jeden fall.

mfg hans