kurz nach dem start ist pollswitch meist >0. daran könnte es liegen. auch im laufenden programm werden häufig falsche werte ausgegeben.
verhindern kannst du das, indem du nach dem start eine kurze verzögerung machst (das sind ca 3 millisekunden, du wirst es nicht merken =) und dann IMMER wenn du pollswitch abfragst, 3-4 mal fragst um einen guten wert zu bekommen (also nicht nur zu beginn, sondern immer wenn du die werte abfragst). ersetze also
durch
Code:
for(i=0;i<10;i++)
{
PollSwitch();
}
t=PollSwitch();
der wert wird also 10x abgefragt, bevor er in der variable gespeichert wird. dadurch werden dann meist korrekte werte zurückgegeben.
Lesezeichen