Adresse PCF8574

Gast #1361864
Lesenswert?

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
#1361874
Lesenswert?

@  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
Gast #1361929
Lesenswert?

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
#1362000
Lesenswert?

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.
Gast #1362081
Lesenswert?

>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.
Gast #1362213
Lesenswert?

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.
Gast #1363324
Lesenswert?

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!
Gast #1363466
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren