Ah so-
Die TWCR Register sind für sich allein nicht eindeutig, was er macht, hängt davon ab, welchen zustand die TWI grad hat. also
Als Master sagt man am Anfang START INT/ EN / STA, das ist neutral
ist das ok,
Schickt man mit adresse->TWDR und INT/ EN die Adresse weg
schreibt man die Slaveaddresse + W (also die "gerade" adresse)
ist man dann Master transmitter
da geht es immer Daten --> TWDR und INT/ EN
schreibt man die Slaveaddresse + R (also die adresse + 1)
ist man dann Master receiver
da geht es immer umgekehrt, INT/ EN , TWDR --> Daten
sagt man auch EA/ dazu, schickt er ein ACK zurück, sonst eben nicht
(dazwischen natürlich immer warten, ob ein INT zurückkommt)
Lesezeichen