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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.