Forum: Mikrocontroller und Digitale Elektronik I2C Mega128 10-Bit Adresse, aber wie?


von Ninnik (Gast)


Lesenswert?

Hallo liebe Comunity
ich habe eine Frage bezüglich der 10-bit Adressierung des Mega8 am I2C 
Bus.

Ich möchte zu Anfang einen Mega8 als Master und einen Mega128 als Slave 
über einen i2c bus kommunizieren lassen. Mit einer normalen 7-bit 
Adresse funktioniert das auch ausgezeichnet. Nun möchte ich das ganze 
erweitern, und dem Slave eine 10-bit Adresse zuweisen. Wie der Aufbau 
der Adresse theoretisch aussehen muss weiß ich.

   Byte 1           Byte 2
11110-XX-R/W      XXXX XXXX          X = Adresse

Nur wie muss das ganze programmtechnisch aussehen?
Am Master:

i2cstart
i2cwbyte &B11110000                 'erstes Byte der Adresse?
i2cwbyte &B00101000                 'zweites Byte der Adresse?
i2cwbyte &H77                       'Daten die ich schreiben möchte?
i2cstop

Für Adresse dezimal 40 und Wert hex77

Und am Slave? Der ATMega hat ja dieses TWAR Register, in dem man die 
Slave Adresse eintragen muss. Dieses ist aber nur 8 bit lang. Wie kann 
ich nun also am Slave einstellen, dass er auf die Adresse reagiert?

MfG Ninnik

von Ninnik (Gast)


Lesenswert?

Adresse ist natürlich dezimal 38 nicht 40 sorry

von Ninnik (Gast)


Lesenswert?

ist ja doch 40 :-/
ich blinder

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
Noch kein Account? Hier anmelden.