hotti: Microcontroller: if-Schleife mit zwei Schaltern

Beitrag lesen

hi,

Eigentlich bin ich davon ausgegangen das eine if-Abfrage mit einer logische AND Verknüpfung als Bedingung funktionieren müsste.

Da wenn man z.B:
if(a&b){

Das einfache & ist ein bitweise AND. Ein logisches AND wäre && in c.

hat, man nur die Variablen durch a = ( PINC & (1<<PINC1) ) und
b = ( PINC & (1<<PINC2) ) ersetzen müsste, damit es funktioniert.

<< und >> sind Shift Operatoren. (4 >> 1) ergibt einen Wert, der dadurch entsteht, dass eine 4 um ein bit nach rechts geschoben wird:

4 als Bitmuster: 0100

1 bit nach rechts ergibt 0010 also 2 (Wurzel aus 4).

4 << 1 ergibt 0100. Ein bit nach links: Zahl hoch 2 (hier: ne 8).

Alles klaro ;-)

Horst Bitmann

--
1 + 1 = 10