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
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
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
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
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
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.