Wenn ich I2C richtig verstanden habe, besteht eine Adresse aus 7 Bit, wobei das letzte Bit die Richtung bestimmt. Daraus würde ich ableiten, dass es 2 verschiedene Adressen gibt, je nachdem ob gesendet oder empfangen wird. In den Beispielen SLAC015 wird unter I2CSA aber immer nur eine Adresse angegeben. Es soll ein DS2484 mittels I2C verbunden werden. DS2482: AD0 = Masse AD1 = +3V Ergibt bei mir: 000 0100 = 0x04 für Senden 000 0101 = 0x05 für Empfangen Was könnte ich falsch verstanden haben und wie legt man die Adresse fest? Wolfgang
da gibt man sich Mühe, benutzt die Vorschau und dann stimmt der tatsächliche Text nicht mit Vorschau überein. eigentlich sollte AD0 und AD1 untereinander stehen es sollte mal geprüft werden, ob man am Programm etwas machen kann
Jein, Normales I2C Frame:
1 | 9876543210 |
2 | SAAAAAAARA |
3 | TDDDDDDD/C |
4 | ADDDDDDDWK |
5 | RRRRRRRR |
6 | T6543210 |
Start Bedingung, 7-Bit Adresse, Schreib/Lese-Flag, Bestätigung. Die Adresse selbst wird von NXP(Philips) vergeben, damit sich unterschiedliche Bausteine die an einem Bus hängen nicht in die Quere kommen. Sollen mehrere gleiche Bausteine an einem Bus hängen, müssen diese unterschiedliche Adressen haben (beim DS2482 wird dies mit den Pins AD1, AD0 festgelegt) D.h. das was tatsächlich übertragen wird ist beim DS2482, abhängig von der Pinbelegung AD1, AD0: (ohne Start/Ack) 76543210 00110AAR DD/ 10W http://www.standardics.nxp.com/literature/books/i2c/pdf/i2c.bus.specification.pdf
> Was könnte ich falsch verstanden haben
Soweit ich mich erinnern kann wird bei dem Hardware I2C vom MSP die
Adresse ohne das letzte Bit angegeben. Aus deiner 0x04 wird dannn 0x02
(dieser Wert muss in's Register vom MSP geschrieben werden). Das Bit für
Read/Write wird automatisch vom MSP gesendet bzw eingefügt.
> (dieser Wert muss in's Register vom MSP geschrieben werden). Das Bit für > Read/Write wird automatisch vom MSP gesendet bzw eingefügt das klingt gut und würde gut zu den Beispielen passen > Die Adresse selbst wird von NXP(Philips) vergeben mal sehen, ob ich dazu noch etwas im Datenblatt zum DS2482 finde Wolfgang
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.