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.
Ü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.
Jaaaa, das hab ich schon soweit kapiert. Aber meine Frage ist: wie bekomme ich registeradressen für 0x24(zweiter MCP23017)?
>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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.