Zitat Zitat von RoboHolIC Beitrag anzeigen
So, jetzt hab ich aufgeholt und bin wieder auf dem Laufenden.
Daß du Meinungen und Codeschnipsel Dritter zitiert hast, fördert bei mir nicht gerade den Eindruck ernsthafter Eigenbemühungen. War nicht böse gemeint, nur ehrlich . Jetzt also konstruktiv weiter.

Die Chipadresse ist aus Figure 1-2 im Abschnitt 1.4 abzulesen: beginnend mit dem MSBit: 0100, dann die drei HW-Aresspins/-bits, danach das R/W-Bit.
Je nachdem, in welchen Format die Adresse anzugeben ist, variiert diese auch: als Adresse OHNE R/W-Bit ist es eben 0100 000, also 0x20, dazu das R/W-Bit.
Zählt man aber das R/W-Bit zur Adresse dazu, dann ist die Leseadresse des Chips 0100 000 0, also 0x40, die Schreibadresse 0100 000 1, also 0x41. (Die Leerzeichen sind nur zur Strukturierung eingefügt, haben keine Bedeutung!)
Aus Table 1-5 und 1-6 ist abzulesen, dass der Wert des IOCON.BANK-Bits nach dem Reset gleich "0" ist. Das ist, wie bereits gesagt, wichtig für die richtige Registeradressierung.

Byte Mode, Sequential Mode - ich gestehe, ich krieg die speziellen Sachen auch nicht mehr aus dem Ärmel geschüttelt, habe aber vor ein, zwei Jahren eine Pin-sparende Grafik-LCD-Ansteuerung via MCP23017 nach Datenblatt zum laufen gekriegt. Da steht schon alles drin was man zu diesem Chip wissen muss.

Prüfe doch einfach bei den Lib-Funktionen mal nach, ob du nicht doch das ACK bzw. NACK abwarten musst. Das ist im Grunde anzunehmen.
Ich hab selbst schon mal Code Produziert, der nicht I2C-konform war, aber trotzdem funktionierte, weil damals der Controller diesen Fehler kaschierte, sein Nachfolger aber nicht mehr ...


Das sind jedenfalls schon mal die richtigen Registeradressen nach einem Reset.
Nabend

Na ich habe versucht diesen IC nach Datenblatt zum laufen zu kriegen.
Ob es nun falsch oder Richtig war, oder ob meinen Eigenbemühungen zu wenig sind und dann im Netz zu suchen, sei dahin gestellt.
Ich habe versucht eine Lösung zu finden, ohne dieses Forum.
Dachte eigentlich dieses Forum ist für sowas gut geeignet...sorry das man dann halt fragt...
Hatte mich halt durch die Suche im Netz auch etwas verannt und wie es so schön heisst, den Wald vor lauten Bäumen nicht gesehn.

Bin dann mit der Adresse dann auch von selber drauf gekommen

Das Zitieren kam nur, weil es Leute auch so gemacht hatten wie ich, es aber nicht geklappt hat.

Und wie man sieht bin ich hier schon länger angemeldet aber nicht wirklich aktiv gewesen, weil ich immer alleine drauf gekommen bin.
bin jetzt öfters hier bereits angemacht worden, weil man man ein Frage hat die für andere vielleicht ganz klar ist..habe mir das MC Programmieren komplett selber bei gebracht.
war jetzt das letzte Mal das ich hier etwas gefragt habe.

ich hatte etwas Probleme mit dem ganzen Registern, muss aber sagen habe ausser dem PCF 8574 nicht viel mit dem I2C Bus gemacht..er ist einfach zu Programmieren und hat mir
20 Jahre Gute Dienste geleistet...da er leider nicht mehr so einfach zu bekommen ist, und wenn nur zu etwas teureren Preisen war ich halt auf der Suche nach einer anderen Lösung

Der Gedanke war zunächst das ganze über Schieberegister zu lösen, jedoch wollte ich meine Schaltung mit dem AT-Mega 8L lösen und hatte dann für 8 Schieberegister die ich benötigt hätte einfach nicht genug Pins zur Verfügung, und dann stiess ich auf diesen Kanditat hier.

Tschüss
Pat