I²C tolle Alternative

Gast #32676
Lesenswert?

Hallo Leute!

Ich habe mir gerade den Baustein PCF8574 etwas näher angeschaut.
Es handelt sich um einen I²C Baustein, welcher 8 parallele I/Os hat.
Mein Frage dazu:
Wie schalte ich jetzt einen Output auf einen Input und umgekehrt? Es 
kann ja auch sein, dass ich 4 Bits als Input haben möchte und 4 Bits als 
Output.

Funktioniert das so wie beim 8051, nämlich, dass eine 1 bedeutet, dass 
der Port Output high ist und gleichzeitig Input?
Oder hängt das Ganze vom Lese- oder Schreibkommando ab.
Also, wenn gelesen wird vom I²C, dass die Ports Inputs sind usw.

Danke für eure Antwort.

Martin
Angehängte Dateien:
Gast #32677
Lesenswert?

7.3 Ein quasi bidirektionaler I/O kann benutzt werden als Eingang oder 
Ausgang, ohne dafü ein Kontrollsignal für die Datenrichtung zu 
benötigen. ...
Das Ende vom Lied du setzt die Ausgänge auf High und die werden auf Low 
gezogen bei 0 oder auch nicht bei 1 High.
Der Rest ist I2C lesen -  schreiben.
Gruß Bernhard
Gast #32678
Lesenswert?

Hallo Martin!

Ich benutze den PCF8574 zum Abfragen einer Matrix-Tastatur.
4Bit als Eingang, 4Bit als Ausgang.

Es ist fast so, wie du vermutet hast: Wenn du eine Leseanfrage an den 
Baustein sendest werden die Ports als Inputs verwendet, beim Schreiben 
als Output.
Was zwischen den Anfragen passiert ist ziemlich wurscht (bisher hat ers 
mir jedenfalls nicht übel genommen).

gruß

Simon
Gast #32679
Lesenswert?

Danke!
Tolle Sache dieser Baustein. Bis jetzt habe ich nur das Schieberegister 
74HC164 gekannt, welches nur als Ausgang benutzt werden kann.
Der zweite Nachteil besteht darin, dass, wenn man ein Byte 
hineinschiebt, die einzelnen Bits während des Hineinschiebens schon 
angezeigt werden. Das heißt, Bit 7 durchläuft alle Bits, bis es endlich 
an seinem Platz ist. Also während des Hineinschiebens wird es an den 
entsprechenden Pins angezeigt.

Tschüss
Martin
Gast #32680
Lesenswert?

Hi

deswegen nimmt man für sowas auch nicht 164 sondern 595. Der hat 
zusätzliche Output-Latches.

Die Pins des PCF8574 verhalten sich ansonsten wie die eines 8051. D.h. 
sie haben keinen aktiven Hightreiber sondern nur einen Pull-Up drin. Den 
kann man extern runterziehen. Gelesen wird dann der Pegel direkt am Pin.

Matthias

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