Zitat Zitat von PicNick
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
[...]
(1 << 0 ) = 1 = B"00000001"
(1 << 1 ) = 2 = B"00000010"
(1 << 2 ) = 4 = B"00000100"
(1 << 3 ) = 8 = B"00001000"
......
(1 << 7 ) = 128 = B"10000000"
Also wenn:
TWINT=7
TWSTA=5
TWEN=2
so würde die (1<<TWINT) | (1<<TWSTA) | (1<<TWEN) Operation ja B"10100100" ergeben.
Somit wäre die Zuweisung ansich gleichbedeutend zu
TWCR = 0xA4;
?

Wird das schieben immer auf einen Leeren Datenwert ausgeführt?
Also kann ich zb in 00001000 nochmals einen 1er hineinschieben, wenn ja wie? Und bewegt sich der Vorhandene dann mit?