www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 I2C Adresse festlegen


Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: arc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jein,

Normales I2C Frame:
9876543210
SAAAAAAARA
TDDDDDDD/C
ADDDDDDDWK
RRRRRRRR
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/i2...

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.