ja, so sieht das ganze auf registerebene aus... =)

über die taster wird immer eine spannung an den adc gelegt. dieser wird durch die funktion pollswitch nur dazu aufgefordert, den wert umzuwandeln.

um eine spannung zu messen braucht man immer eine vergleichspannung. diese vergleichspannung wird i.a. als 1023 festgelegt. die hälfte dieser spannung wäre dann z.b.511 und ein viertel dieser spannung wäre 255. ein tausendstel der spannung wäre theoretisch der wert 1.

wenn man jedoch die batteriespannung messen will braucht man eine vergleichsspannung - es macht ja wenig sinn die batteriespannung mit sich selbst zu vergleichen. dazu hat der prozessor eine interne schaltung, die jederzeit exakt 2,56V generiert. diese kann man als vergleichsspannung nutzen.


zurück zu pollswitch: das interessante an ebendiesen werten ist die binäre darstellung.
1 = 00000001
2 = 00000010
4 = 00000100
8 = 00001000
16 = 00010000
32 = 00100000

dadurch kann man ganz gut herausfinden, welche taster nun gedrückt sind. dazu solltest du dich mal mit LOGISCHEN OPERATOREN beschäftigen, das sind & (und) sowie | (oder).