Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Ansteuerung von PCA9554


von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
habe ein Board mit 4 Taster und 4 LED's die aber über einem PCA9554 
gehen (siehe Anhang), ich habe mich schon über den I²C dokumentiert und 
einiges schon verstanden und wollte mich an die LDE's ran machen.

Nun geht schon los, im Doku von Board steht:
"Die Adresse für den PCA9554 (Taster/LED’s) kann mit den Schaltern 4-6 
eingestellt werden. Wenn alle Schalter auf OFF stehen ist die Adresse 
auf $38 eingestellt."
D.h. $38 ist 56 Dezimal, nach Datenblatt von PCA9554 ist die Slave 
Adresse aber 40 also: 0 1 0 0 X X X X oder habe ich da en verstädnis 
Problem? Wie komme ich auf 56 wie im Doku? kapiere ich nicht.

Kann mich jemand Helfen?

von Martin (Gast)


Lesenswert?

Hat keine eine Idee?

von egbert (Gast)


Lesenswert?

Was meinst Du wohl, wer es besser weis - Der weltbekannte Hersteller des 
Portexpanders oder der Frickler, welcher die Schaltung zusammengedröselt 
hat?

$40 ist richtig.

von Schaulus Tiger (Gast)


Lesenswert?

alle haben Recht! Es gibt zwei verschiedene PCA9554:

PCA9554   0 1 0 0 A2 A1 A0
PCA9554A  0 1 1 1 A2 A1 A0

Ja, das sind jeweils nur 7 Bit. Das Bit 0 ist ja das Read/Write-Bit und 
das gehört nicht zur Adresse. Senden muss man genau genommen:
Adresse * 2 + RW
Deshalb sollte man der Hex-Schreibweise nicht blind vertrauen.

von Martin (Gast)


Lesenswert?

Vielen Dank für die Hilfe!

Schaulus Tiger schrieb:
> alle haben Recht! Es gibt zwei verschiedene PCA9554:

In der Tat! auf dem Chip steht "PCA9554AD" also 70 wäre richtig aber mas 
meinst du mit Adresse * 2 ?

von Schaulus Tiger (Gast)


Lesenswert?

naja, du musst 0x70 (oder 0x71) senden, aber nur oberen 7 Bit davon sind 
die Adresse, was man auch 0x38 schreibt. Und 0x38 um 1 nach links 
verschoben kann man auch als "* 2" schreiben.

So passen auch die A2- bis A0-Bits besser ins Bild.

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
Noch kein Account? Hier anmelden.