Hallo Eine Frage: Wenn ich die Adresse vom PCF8574 einstellen will, dann muss man das ja mit den Pins A0, A1, A2 machen. Wenn ich jetzt z.B. A0 = 0 , A1 = 1 , A2 = 0 , Dann wäre das diese Adresse Softwaremässig: &H02 ??? Stimmt das so? Oder hab ich da was falsch verstanden? Liebe Grüsse
@ Edwin (Gast) >mit den Pins A0, A1, A2 machen. Wenn ich jetzt z.B. A0 = 0 , A1 = 1 , A2 >= 0 , >Dann wäre das diese Adresse Softwaremässig: >&H02 >Stimmt das so? Jain. Auf die Adresse allein bezogen stimmt das. Da aber die Adressbit bei I2C in den Bit 7..1 drinstecken, ist dein Byte, welches du per I2C rausklingeln musst 0x04 für einen Schreibzugriff und 0x05 für einen Lesezugriff. Aber der PCF8574 hat die oberen Adressbits fest einprogrammiert, sie Datenblatt oder Artikel [[Port-Expander PCF8574]] MfG Falk
Hi Nein. Der 8574 hat hat eine Grundadresse von $20 (A2,A1,A0=0). Dazu kommt der Wert von A2..A0. MfG Spess
Empfehle: Datenblatt lesen, da steht alles drin. Achtung: PCF8574 und PCF8574A haben verschiedene Adressen !!
Bis auf die Antwort von Falk ist alles falsch. Der PCF8574 hat die Basisadresse 0x40 und der PCF8574A hat die Basisadresse 0x70. Mit Deiner Adresseinstellung hast Du beim 8574 die Adresse 0x44 zum Schreiben und 0x45 zum Lesen, beim 8574A entsprechend 0x74 und 0x75. A0, A1 und A2 der Adresse entsprechen Bit 1, 2 und 3 der wirklichen Adresse, also bei A0 = 0 , A1 = 1 , A2 = 0 nicht 0x02 sondern 0x04. Bit 0 der Adresse entscheidet zwischen Schreiben und Lesen. Gruß Gast
Gast schrieb: > Bis auf die Antwort von Falk ist alles falsch. Der PCF8574 hat die > Basisadresse 0x40 und der PCF8574A hat die Basisadresse 0x70. Wie Falk schon sagte, das ist Ansichtssache. Wenn ich nur von den Adressbits (wie im Datenblatt gekennzeichnet) ausgehe, stimmt die 0x22 sehr wohl. Wenn ich das Schreib-Lesebit zur Adresse dazurechne, stimmt deine Ansichtsweise: > Mit Deiner Adresseinstellung hast Du beim 8574 die Adresse 0x44 zum > Schreiben und 0x45 zum Lesen, beim 8574A entsprechend 0x74 und 0x75. > Bit 0 der Adresse entscheidet zwischen Schreiben und Lesen. Ansichtssache. Im Datenblatt ist es als nicht zur Adresse gehörend gekennzeichnet. > Gruß Gruß zurück.
Hi
>Bis auf die Antwort von Falk ist alles falsch.
Sieh dir mal S.3/4 an.
MfG Spess
Sieht seltsam aus. Im alten Datenblatt von Philips wird sogar zwischen 8574 und 8574A in der Länge der dargestellten Adresse (7 oder 8 Bit) unterschieden. Mal mit und mal ohne Schreib/Lese-Bit. Im Texas-Datenblatt umfaßt es auch bloß 7 Bit. Ist irgendwie nicht konsequent beschrieben.
Hi >Im alten Datenblatt von Philips wird sogar zwischen >8574 und 8574A in der Länge der dargestellten Adresse (7 oder 8 Bit) >unterschieden. Der I2C-Standard beinhaltet aber nur 7-Bit-Adressen. Sollte der Erfinder desselben eigentlich wissen. PCF8574 und PCF8574A haben aber unterschiedliche Basisadressen. MfG Spess
>Der I2C-Standard beinhaltet aber nur 7-Bit-Adressen. Sollte der Erfinder >desselben eigentlich wissen. >PCF8574 und PCF8574A haben aber unterschiedliche Basisadressen. Da bin ich voll Deiner Meinung, die habens erfunden und sollten es auch weiterhin konsequent richtig darstellen. Drum wunderts mich ja, daß es so und so dargestellt wird. Schreib/Lesebit ist kein Adressbit, aber das Datenblatt versucht es zu suggerieren. Mit den verschiedenen Basisadressen, das ist vernünftig, findet man bei anderen Bausteinen auch.
Hi
>aber das Datenblatt versucht es zu suggerieren.
Also in meinem nicht (2002).
MfG Spess
Okay Leute, ich beharre ja nicht darauf, daß die Adresse 8 Bits lang ist. Ich habe hier ein altes Datenbuch von Philips von 1989, in dem folgendes steht: Die Adresse ist 7 Bits lang, das 8. Bit ist ein Datenrichtungsbit, 0 bedeutet Schreiben, 1 bedeutet Lesen. Das heißt aber trotzdem, daß beim PCF8574 die Basisadresse 0x40 zum Schreiben und 0x41 zum Lesen ist, wenn A0, A1 und A2 auf GND liegen. Das ist ja auch die Adresse, die ich senden muß, um den Baustein anzusprechen. So gesehen ist das Datenblatt von TI falsch.
@spess53: Vielleicht war die früher auch gründlicher und korrekter. Hier das Datenblatt von NXP aus dem Jahr 2002: http://www.nxp.com/acrobat_download/datasheets/PCF8574_4.pdf Auf Seite 9 ist im gleichen Bild die Adresse mal als 7-bit und mal als 8-bit-breit angegeben.
Hi Auf dieser Seite mag sich ein Fehler eingeschlichen haben (Nobody is perfect). Aber in allgemeinen wird ein Unterschied zwischen Adresse (7Bit) und Adressbyte gemacht. Wobei Letzteres aus Adresse und R/W-Bit besteht. MfG Spess
Hallo Danke für die (zu) vielen Antworten! Aber irgendwie weiss ich jetzt nicht so richtig was nun stimmt... hat vielleicht jemand erstgrad mal mit dem I2C Bus experimentiert und auch dem Baustein PCF8574? Und kann mir ganz klar sagen, wie ich die Adresse nun wählen müsste... Übrigens ich programmiere in Bascom! Danke auch aber trotzdem für die Hilfe! Liebe Grüsse!
Hallo Edwin, hätte man dir schon lange verraten sollen: In der Artikelsammlung ist der PCF8574 erklärt. http://www.mikrocontroller.net/articles/Port-Expander_PCF8574 Für mehr Infos über I²C: http://www.rn-wissen.de/index.php/I2C Und viele Beispiele auch in Basic: http://www.rn-wissen.de/index.php/Kategorie:Quellcode_Bascom Aber die Diskusion war witzig, die 10Bit-Adressierung hat aber noch gefehlt ;-) avr
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.