PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster



Martinius11
01.11.2009, 15:54
Kurze Frage wie programmiere ich einzelne Taster ?
Also K1-K6

Danke

Ollowain
01.11.2009, 16:16
siehe anleitung:

Die Taster (K1-K6) werden ausgewertet. Diese Funktion liefert ein Byte. In diesem Byte ist die
Information enthalten, welche Taster gedrückt wurden. Dabei setzt Taster 1 das 5. Bit,
Taster 6 das 0.
Bit.
Bit0 (1) -> K6
Bit1 (2) -> K5
Bit2 (4) -> K4
Bit3 (8) -> K3
Bit4 (16) -> K2
Bit5 (32) -> K1
Wären also die Tasten 1,3 und 5 gedrückt, so würde die Funktion 32 + 8 + 2 = 42 zurückliefern.
Evtl. muss diese Funktion mehrfach hintereinander aufgerufen werden, um das „richtige“ Ergebnis
zu erhalten. Der geladene Kondensator C7 muss sich erst entladen. Dies kann ein wenig dauern.
Wenn der A/D-Wandler zu früh abtastet, können verschiedenste Spannungswerte gemessen
werden.

Abfragen kannst du es z.b. mit
if(PollSwitch() == 1)
..

wichtig ist das mit dem Überprüfen des exakten wertes da man unter umständen z.b. bei K3 Werte zwischen 7 und 9 bekommt. Hängt mit der elektronik zusammen...

// edit: ich hasse das 8) smilie => deaktiviert

Martinius11
01.11.2009, 17:15
âlso ich muss in die Klammer direkt hinter PollSwitch die zahle der addierten
Bits einsetzen

Ollowain
01.11.2009, 18:51
ne, in den klammern steht nichts.
Willst z.b. Taster 1,2 und 3 haben schreibst du ...(PollSwitch() == 56 ).
(Macht natürlich erstmal wenig sinn...).
Das ganze ist so gelöst dass du nie für einen Wert zwei oder mehrere verschiedene Tasterkombinationen findest. Vorrausgestzt natürlich du bekommst keine "falschen Werte" (wie oben beschrieben sind die werte die du von den Tastern bekommst desöfteren ungenau), deshalb solltest du sie vorher überprüfen lassen.