Gast
#3665458
Hallo, vor längerer Zeit habe ich hier über ein TWI/I2C-Problem berichtet, als ich ein Display mit einem XMega ansteuern wollte, was allerdings ungelöst blieb. Im Moment habe ich wieder Zeit, weiter daran zu arbeiten, also versuche mich gerade am TWI-Protokoll und habe dazu zwei XMega256 zusammengeschalten. Einer arbeitet als Master, der andere als Slave. Das Adress-System verstehe ich aber anscheinend schon nicht bzw. es widerspricht sich das, was ich lese mit dem, was ich als Resultat sehe. Ich gebe dem Slave z.B. die Adresse 0x66 = 0b0110 0110. Nach allem, was im Datenblatt und im Internet steht, müsste der Master ein Adresspaket senden, was die 7Bit-Adresse enthält mit einem achten Bit für Read/Write, also folgendermaßen: 7Bit Adresse und ein 1Bit R/W = 0b1100 1100 für Write. Dann aber erkennt der Slave die Adresse nicht als die seine und macht nichts. Was für meinen gesunden Menschenverstand vollkommen logisch erscheint, weil sich 0b1100 1100 krass von 0b0110 0110 unterscheidet. Nur, wenn der Master eine 0x66 oder eine 0x67 sendet, reagiert der Slave. Ich verstehe hier nicht, welches System nun das "richtige" ist: Steht im Adressregister des Slaves die Adresse des Slaves oder ist die Adresse dort schon "kodiert" einzutragen, etwa als (Adresse << 1) und das unterstes Bit ist dann unwichtig? Danke und Grüße Peter