-         
+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Bidirektional Ports am I2C-Bus PCF8574?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.01.2004
    Ort
    München
    Alter
    66
    Beiträge
    214

    Bidirektional Ports am I2C-Bus PCF8574?

    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)?

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    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

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.01.2004
    Ort
    München
    Alter
    66
    Beiträge
    214
    Hallo Frank

    Vielen Dank, das wars, zusammen mit der neuen LCD-Beschreibung:
    "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 mal eine Diskussion, die teilweise recht genaue Infos enthält.

    Download: Klar mach ich; eine Vor-Version liegt schon hier; aber zur Zeit kann ich nix mehr posten, weil ich meine "quota" mit zu grossen Fotos überschritten habe...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    07.01.2004
    Ort
    München
    Alter
    66
    Beiträge
    214
    Hallo Frank,
    Posting ging nicht, wegen "quota überschritten"; hab den aktualisierten Source deshalb direkt an JanPeter geschickt.

  5. #5
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Du musst es direkt im Download Bereich machen, hier http://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

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •