PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bidirektional Ports am I2C-Bus PCF8574?



jörg
22.02.2004, 03:02
Ich benutze an der CC1 (Robby) den System I2C Bus (über Assembler Treiber). OK: Damit kann ich auf die Ports des PCF8574 schreiben, und kann sie auch lesen (an den Ports des PCF habe ich 10 k PullUps).

An einem der PCFs hängt ein Standard LCD (HD-Controller), wie üblich im 4 bit mode. Auch OK: Damit kann ich auf das LCD schreiben (über Assembler, wegen Geschwindigkeit).

Aber: wie lese ich Daten aus dem LCD zurück (über das PCF)?

Allgemein: Wenn ein Port des PCF bidirektional benutzt wird, was muss ich dann beachten: Pull-Up? Doch wohl nicht, oder schon?

Ich sehe dabei das Problem, dass ich ja immer nur alle 8 Ports des PCF gemeinsam lesen oder schreiben kann.

Oder müssen sowieso immer alle 8 Ports eines PCF dieselbe Richtung haben (entweder alle OUT, oder alle IN, aber nicht gemischt)?

Frank
22.02.2004, 10:17
Im Prinzip ist es so das der PCF nur auf Logisch 0 oder auf Eingang geschaltet werden kann. Also Logisch 1 wäre immer Eingang. Gewöhnlich braucht man daher Pullup. Aber wenn Du es am LCD hast dürfte das entfallen.

Ich kenn mich mit LCD Ansteuerung derzeit noch nicht aus - muss man da überhaupt was zurücklesen?

Na jedenfalls mußt du beim setzen immer die Bits High lassen, die du auslesen möchtest. Einfach dann PCF auslesen.

Wenn dein I2C-LCD-Programm fertig ist, kannst es ja mal hier oder im Download Bereich posten. Ist bestimmt für mehrere interessant.

Gruß Frank

jörg
22.02.2004, 18:33
Hallo Frank

Vielen Dank, das wars, zusammen mit der neuen LCD-Beschreibung (https://www.roboternetz.de/phpBB2/pafiledb/uploads/Text-LCDs.pdf):

"Während eines Lesezugriffs stehen die zu lesenden Daten an, solange E=1 ist" (Das klingt etwas ungewöhnlich, ist aber nachträglich gesehen klar)

Nein, man muss nichts vom LCD zurücklesen.
Man kann es aber tun, und das kann in Sonderfällen einen Sinn machen: Man kann z. B. die Teile des LCD, die man nicht anzeigt, im Programm als RAM benutzen; mag lächerlich sein, aber das sind mehr als die ganze CC1 User-Variablen hat!!

Zum LCD selbst hatten wir hier (https://www.roboternetz.de/phpBB2/viewtopic.php?t=554&postdays=0&postorder=asc&start=0) mal eine Diskussion, die teilweise recht genaue Infos enthält.

Download: Klar mach ich; eine Vor-Version liegt schon hier (https://www.roboternetz.de/phpBB2/viewtopic.php?p=5173#5173); aber zur Zeit kann ich nix mehr posten, weil ich meine "quota" mit zu grossen Fotos überschritten habe...

jörg
23.02.2004, 01:12
Hallo Frank,
Posting ging nicht, wegen "quota überschritten"; hab den aktualisierten Source deshalb direkt an JanPeter geschickt.

Frank
23.02.2004, 10:56
Du musst es direkt im Download Bereich machen, hier https://www.roboternetz.de/phpBB2/dload.php

Da sollte es kein Limit geben! Das Limit beschränkt nur die Anhänge in den Beiträgen. Ich werde das in Kürze auch noch ein wenig erhöhen.
Probier es nochmal im Downlaod Bereich

Gruß Frank