>Ist es korrekt
>mit
>PORTB &= 0 << PB4;
>?
Nein. "<<" ist ein Schiebeoperator, der Bytes oder größere Wörter um
"PB4" nach links verschiebt.
Wenn ein Byte den Wert "0" hat, und man diesen verschiebt, bleibt er
"0".
Richtig ist es so:
PORTB &= ~(1<<PB4);
So ist es auch im Tutorium beschrieben.
>Werden andere Bits dadurch beeinflusst?
Ja. Aber wenn du es richtig machst, wird der Inhalt des Portregisters
gelesen, geändert und wieder zurückgeschrieben. Je nach Compiler und
Bitanzahl wird auch optimiert.
>F2. Sind
>input_value = PINC;
>und
>input_value = (PINC7<<PC7)|(PINC6<<PC6)|(PINC5<<PC5)|(PINC4<<
>PC4)|(PINC3<<PC3)|(PINC2<< PC2)|(PINC1<<PC1)|(PINC0<< PC0);
>identisch?
Der zweite Ausdruck ist totaler Quatsch.
Guck dir das Tutorium und ein C-Buch an!