Hallo Nach dem Datenblatt zum MCP23017 hat der IC die ICON.Bank=1 und ICON.Bank=1. Zusätzlich gibt es für Register jeweils noch A oder B. Leider habe ich den Sinn von Bank 0 und 1 nicht verstanden. Die Register sind mir soweit klar. LG Paul
Hallo, es geht um die Reihenfolge der Adressierung über I2C der Register. Dazu gibt es eine Tabelle im Datenblatt.
Paul schrieb: > Leider habe ich den Sinn von Bank 0 und 1 nicht verstanden Bei Bank0 sind die Register so angeordnet, daß Du sie auch jeweils als ein 16Bit-Register ansprechen kannst. Damit werden dann aus 2 8Bit-Ports ein 16Bit-Port.
Das mit der Reihenfolge ist mir klar. Steht auch eindeutig im Datenblatt. Nehmen wir ein Beispiel: Iocon.Bank = 1 Iocon.Bank = 0 Register 0x0A 0x14 OLAT A Output Latch Port A 0x1A 0x15 OLAT B Output Latch Port B Dabei ist das Register A die GPA von 0 bis 7 (Pin 21 bis 28) und GPB 1 bis 8 (Pin 1 bis 8) Was macht Bank 1 und was macht Bank 0 dabei?
Paul schrieb: > Dabei ist das Register A die GPA von 0 bis 7 (Pin 21 bis 28) und GPB 1 > bis 8 (Pin 1 bis 8) Muss natürlich GPB 0 bis 7 sein
One register (IOCON) is shared between the two ports.
Was ist denn jetzt Dein Problem? Mit dem IOCON.Bank-Register legst Du fest, unter welcher Adresse die Register zu finden sind. Mal sortiert nach Port A und B und mal paarweise angeordnet.
http://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf Nachzulesen auf Seite 17, ERSTER KLEINER Absatz über das IOCON Register. 2 tolle Tabellen auf Seite 17/18 zeigen die Addressreihenfolge der Register mit BANK=1 und BANK=0. BANK ist nur ein BIT IOCON.BANK Auf Seite 21 wird jedes Bit im IOCON Register beschrieben.
:
Bearbeitet durch User
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.