Hi, meine Fragestellung könnte etwas irreführend formuliert sein. Deshalb hier nochmals ausführlicher: Da ich auf meinem Raspberry Pi zu wenig GPIO's habe, möchte ich den I2C GPIO-Expander namens "PCA9500" verwenden. Ich habe im Datenblatt gelesen, dass die GPIO's quasi bidirektional sind und unabhängig von einander als Input oder Output verwendet werden können. Ist es korrekt, dass ich z.B. sagen kann, dass ich GPIO 0&1 als Output verwenden möchte und GPIO 2...7 zum selben Zeitpunkt als Input? Habe aktuell eines PCF8574 zuhause. Liege ich richtig mit der Annahme, dass dieser nur Entweder vollständig als Input oder vollständig als Output Expander verwendet werden kann? Kenne mich auf diesem Gebiet noch nicht sehr gut aus, weswegen ich auf Nummer sicher gehen möchte, damit ich das Bauteil nicht für die Katz bestelle.
Manuel N. schrieb: > Ist es korrekt, > dass ich z.B. sagen kann, dass ich GPIO 0&1 als Output verwenden möchte > und GPIO 2...7 zum selben Zeitpunkt als Input? Ist es. Manuel N. schrieb: > Liege ich richtig mit der Annahme, > dass dieser nur Entweder vollständig als Input oder vollständig als > Output Expander verwendet werden kann? Seite 1 des Datenblattes: "Each quasi-bidirectional I/O can be used as an input or output without the use of a data-direction control signal." Du liegst also falsch. Die Typical Application, die du im Datenblatt sicher auch gesehen hast, zeigt auch einen "Mischbetrieb". Und am Ende sind beide IO-Expander nahezu identisch, nur von anderen Herstellern. Sie sind sogar Pinkompatibel.
:
Bearbeitet durch User
> > Seite 1 des Datenblattes: > "Each quasi-bidirectional I/O can be used as an input or output without > the use of a data-direction control signal." > Okey, danke für deine schnelle Antwort. Was bedeutet "without the use of a data-direction control signal"? Englisch auf Deutsch übersetzen kann ich selbst, aber was ist die Wirkung wenn man ein data-direction control signal hat oder nicht?
Manuel N. schrieb: > Englisch auf Deutsch übersetzen kann ich selbst, aber was ist die > Wirkung wenn man ein data-direction control signal hat oder nicht? Das ist egal, weil der Expander keinen Eingang dafür hat. Es gibt andere IO-Expander, bei denen kannst/musst du die Richtung von IO-Bänken über entsprechende Pins vorgeben. Also Pin high = Eingang, Pin low = Ausgang z.B.. Damit kann dann ein Register als ganzes nur eine Richtung haben. Bei den hier genannten Typen gibt es kein Signal für die Richtung eines Registers, sondern es wird alles komplett im Protokoll abgebildet, wodurch Mischbetrieb möglich ist.
Der "Trick" ist: Wenn die Outputs auf "HIGH" stehen, werden die nur über einen Pull-Up (100µA oder so) auf Pegel gezogen. Wenn du die extern stärker auf GND ziehst, kriegst du den Pin beim Rücklesen als "LOW". d.H.: Du kannst alle Pins, die als "High" konfiguriert sind, als Input verwenden. Musst aber aufpassen, dass du die nie als Output/Low beschreibst, solange da extern ein anderer Pegel anliegt.
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.