www.mikrocontroller.net

Forum: Compiler & IDEs I2C-LCD-Lib Probleme


Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Kennt jemand diese I2C-LCD-Lib von http://computerheld.de/i2clcd/
i2clcd-v01.
In dieser Lib kannn man die Zuordnung der Daten und Steuerpin von LCD zu 
PCF8574 frei wählen. Legt man die Pin so auf
PCF P0 -- LCD D4
    P1 --     D5
    P2 --     D6
    P3 --     D7
dann funktioniert es, legt man sie jedoch so auf
    P0 --    D7
    P1 --    D6
    P2 --    D5
    P3 --    D4
dann sieht es so aus als würde das Display initialisiert(es wird 
gleichmässig grau) aber es kommen keine Zeichen. Die Hardwarezuordung 
ist natürlich jeweils ident mit dem Eintrag in der *.h Datei.
Wie man die Steuerpin den restlichen PCF-Pin zuordnet ist ohne 
Bedeutung.
Kennt jemand diesen Fehler oder habe ich etwas übersehen oder überlesen.
Wenn man die Suche bemüht muss man feststellen das ein LCD über I2C 
ansteuern nicht sehr gängig ist.
Hubert

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:
Ausprobiert mit AVR-Studio und Mega32

Autor: Rick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Na da kommt mir ja was bekannt vor :-)

Gugst Du hier:

http://www.roboternetz.de/phpBB2/viewtopic.php?t=35991

Gruß Rick

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es hätte ja sein können das hier jemand die Lösung des Problems kennt.
I2C-LCD sind ja wirklich nicht sehr aktuell, mein Junior meinte, auf 
dieses Problem angesprochen, ohje, nimm einen größeren Kontroller.
Hubert

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Es liegt wirklich an der Verdrahtung! Geht nur so, wie im header steht!
Ich vermute mal, dass es aus der Shift-Register-Natur des PCF8574 
kommt... Die Pins sind halt nicht auf einen Schlag gültig, deswegen ist 
die Reihenfolge wichtig!

Gruß,
Manuel

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manuel schrieb:
> Ich vermute mal, dass es aus der Shift-Register-Natur des PCF8574
> kommt... Die Pins sind halt nicht auf einen Schlag gültig, deswegen ist
> die Reihenfolge wichtig!

Das ist Quatsch.
Der PCF8574 kann nicht um ein Bit schieben, wie ein 74HC164.
Alle 8 Bits werden mit dem ACK gleichzeitig gesetzt.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hubert G. schrieb:
> mein Junior meinte, auf
> dieses Problem angesprochen, ohje, nimm einen größeren Kontroller.

Was denn, noch größer?

Der Mega32 hat doch Pins bis zum Abwinken, da kanns doch an 6 Pins für 
das LCD nicht scheitern.


Prinzipiell muß es aber auch über I2C gehen.
Warum es bei Dir nicht geht, kann ich Dir nicht sagen. Dazu müßte ich 
Deinen Code sehen, der die LCD-Pins definiert und wie er sie verwendet.


Man kann beim AVR-GCC sehr schön einzelnen Bitvariablen auf IO-Pins 
legen. Leider wird das nur sehr wenig genutzt und dafür sehr 
umständlicher und damit fehlerträchtiger Code verwendet.
Hier mal ein einfaches Beispiel für beliebige Pinzuordnung:
http://www.mikrocontroller.net/attachment/30300/lcd_drv.zip

Man ist natürlich nicht auf echte IO-Pins beschränkt, sondern kann auch 
virtuelle IO-Pins im SRAM definieren, die dann per I2C oder SPI gesendet 
werden.

Ob die gesparten 4 Pins beim Mega32 (32 IO-Pins) aber soviel ausmachen, 
bezweifle ich.
Bei nem Tiny25 kann I2C (2 Pins) oder SPI (3 Pins) durchaus helfen.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.