Forum: Mikrocontroller und Digitale Elektronik Register für Kommunikation mit 2 MCP23017


von Glenn R. (glenn_r)


Lesenswert?

Ich hab erfolgreich 2 MCP23017 an mein Raspi über I2C angeschlossen. Der 
eine mit Adresse 0x20 und der andere 0x24.
Jetzt hab ich für 0x20 IODIRA = 0x00 und IODIRB = 0x01.
Außerdem zum ansteuern PortA = 0x12 und PortB = 0x13.

Aber welche IODIR A/B und Portregister nutzt jetzt 0x24??
Es ist mir ein Rätsel.

von tomske (Gast)


Lesenswert?

Über I2C und Raspi: 
http://www.mikrocontroller.net/articles/Raspberry_Pi#Der_I2C-Bus

I2C funktioniert als Bus, alle Teilnehmer hängen normalerweise an SDA 
und SCL. 0x20 und 0x24 sind die Addressen Deiner zwei MCP23017, die 
Bausteine selber sollten an denselben Pins des Raspis hängen (SDA und 
SCL). Also auch an denselben Ports. Es ist nur eine Frage der Daten, die 
Du über den Bus sendest, welcher MCP23017 sich angesprochen fühlt und 
was er macht.

von Glenn R. (glenn_r)


Lesenswert?

Jaaaa, das hab ich schon soweit kapiert. Aber meine Frage ist: wie 
bekomme ich registeradressen für 0x24(zweiter MCP23017)?

von holger (Gast)


Lesenswert?

>Aber meine Frage ist: wie
>bekomme ich registeradressen für 0x24(zweiter MCP23017)?

Das sind die gleichen wie beim ersten.
Du verwechselst hier die I2C Adresse mit der der
MCP23017 angesprochen wird und die internen Adressen
bzw. vieleicht nennen wir sie einfach mal Offsets im Chip.

von tomske (Gast)


Lesenswert?

Helfen Dir diese Kommandos weiter:

i2cdetect zum Auflisten der I2C-Busse und zum Anzeigen der Eigenschaften 
und Geräte

i2cdump zum Herausfinden von I2C-Registern

i2cget zum Lesen von I2C-Registern

i2cset zum Setzen von I2C-Registern

Ich nehme an, dass Du ein Linux am Start hast, mit man bekommst Du in 
einer Shell dann Hilfe zu den einzelnen Optionen, z.B.

 man i2cdump

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.