Danke für die schnelle Antwort!
Hat leider noch nicht zum gewünschten Ergebnis geführt.
Code:
unsigned char t1, t2;
while(1){
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 == t2){ /* irgendeine Taste gedrueckt */
PrintInt(t1); /* Tastenwert senden */
SerWrite("\r\n", 2); /* Zeilenvorschub */
mSleep(500); /* halbe Sekunde warten */
}
}
Das ist die Funktion mit der ich die Taster teste. Den neuen return Wert habe ich wie folgt eingesetzt:
Code:
return ((uint8_t) ((1024UL * 63 + i / 2) / i)) - (uint8_t) 63;
Den Wert von 63 habe ich dann verändert. Für alles <=63 sieht die Ausgabe so aus:
Code:
Tastsensor Test
190\0x9f\0x01 || 190\0x9f\0x01 || ...
Wo jetzt ein "||" steht geht es eigentlich im 0.5s Takt ohne Freizeichen/Zeilenumbruch weiter. Ich hab keine Ahnung woran das liegen könnte.
Sobald ich einen Taster betätige hört die Ausgabe via IR sofort auf, lasse ich ihn los geht es wieder mit 190\0x9f\0x01 weiter.
Wenn ich Werte einsetze die größer sind als 63 wird außer "Tastsensor Test" garnichts mehr ausgegeben.
Lesezeichen