Forum: Mikrocontroller und Digitale Elektronik Frage zu I2CLCD Library von Falk


von Roger S. (roger1004)


Lesenswert?

Hallo zusammen,
ich verzweifle gerade an der I2CLCD library von Falk siehe:

Beitrag "I2CLCD Library für HD44780 LCDs"

Ich versuche es mit folgenden Display:

https://www.ebay.de/itm/323964085728

Die Bibliothek wurde ja mit AVR-Studio erstellt ich benutze aber Atmel 
Studio 7 kann das schon der Fehler sein?
An einem Arduino nano habe ich das Display zum laufen bekommen.
Probiert habe ich es an einem ATmega328p mit externen Quarz und einem 
Atmega8a ohne externen Quarz.
Es leuchtet immer die oberste Zeile komplett.
Probiert habe ich es mit dem Beispiel Code aus der Zip Datei. Und einem 
Atmel Studio Projekt direkt im  Ordner. Adresse ist die selbe die auch 
voreingestellt ist.
Verwirren tut mich das Die Adresse als 8 Bit und nicht wie ich es sonst 
kenne als 7 Bit ohne R/W angeben wird.
Die Pinbelegung des PCF passt auch mit den Voreinstellung aus dem 
Programm soweit ich das anhand Der Leiterbahnen nach vollziehen kann.
Bei den Adressen der Zeilen muss ich aber davon ausgehen das diese 
Stimmen da ich kein Datenblatt des verbauten Displays habe.

Benutzt jemand von euch diese Library mit Atmel Studio oder weiß was ich 
falsch machen könnte?

Schöne Grüße

von Mitlesa (Gast)


Lesenswert?

Roger S. schrieb:
> Benutzt jemand von euch diese Library mit Atmel Studio oder weiß was ich
> falsch machen könnte?

Poste dein komplettes Projekt (als ZIP-Datei, vorher Clean
ausführen damit die Objects und Binaries weg sind), dann
kann man sehen was falsch läuft.

von Roger S. (roger1004)



Lesenswert?

Ich hab das Projekt mal angehangen.
Ist aber lediglich die .c Datei des Beispieles C&P in das Projekt.

Es kommen jetzt auch die beiden Fehler aus dem Anhang.
Vorhin hatte ich wohl die falsche Datei.
Die erste kommt wenn ich keine Änderung vornehme und die zweite wenn das 
Programm indem Zustand wie es im Anhang ist.
Also die Bereiche aus denen der erste Kompilierfehler kam sind dort 
auskommentiert.
Ich hoffe das hilft so sonst einfach melden.

von Mitlesa (Gast)


Lesenswert?

Roger S. schrieb:
> Ich hoffe das hilft so sonst einfach melden.

Mitlesa schrieb:
> Poste dein komplettes Projekt

Komplett heisst komplett.

Wenn du das nicht schaffst dann lass es sein und mach irgendwas
anderes, Stricken, Häkeln, Gärtnern, Malen.

Ein letzter Tip: für den Anfänger gehören alle Dateien die
man braucht in das Projektverzeichnis, nicht irgendwo hin.

von Falk B. (falk)


Lesenswert?

Roger S. schrieb:
> Hallo zusammen,
> ich verzweifle gerade an der I2CLCD library von Falk siehe:
>
> Beitrag "I2CLCD Library für HD44780 LCDs"

Oh, ein fast vergessenes Werk ;-)


> Die Bibliothek wurde ja mit AVR-Studio erstellt ich benutze aber Atmel
> Studio 7 kann das schon der Fehler sein?

Nein.

> Es leuchtet immer die oberste Zeile komplett.

Da fehlt die Initialisierung.

> Verwirren tut mich das Die Adresse als 8 Bit und nicht wie ich es sonst
> kenne als 7 Bit ohne R/W angeben wird.

Beide Varianten sind üblich.

> Benutzt jemand von euch diese Library mit Atmel Studio oder weiß was ich
> falsch machen könnte?

Sie funktioniert. Allerding ist das olle AVR-Studio, genauer, der 
ergraute avr gcc Compiler etwas toleranter. Sprich, im neuen 
Atmel-Studio mus man die Strings im PROGMEM mit const definieren. Steht 
ja auch in der Fehlermeldung (wenn man Fachenglisch versteht)

Dein Link ist aber nicht der "neueste" Stand, hier sind ein paar 
Verbesserungen drin, u.a. das const Problem.

Beitrag "Re: I2CLCD Library für HD44780 LCDs"

Dann sollte man testen, ob man die richtige I2C Adresse hat. Das kann 
man leicht, wenn beim 1. Ansprechen mit der Adresse ein ACK zurück 
kommt, etwa so.
1
if (i2c_start(0xAA) ) {
2
  // Fehler, kein ACK, IC reagiert nicht auf die Adresse
3
  // Fehler-LED einschalten
4
  // STOP
5
}

von Roger S. (roger1004)


Angehängte Dateien:

Lesenswert?

Falk B. schrieb:
> Sie funktioniert. Allerding ist das olle AVR-Studio, genauer, der
> ergraute avr gcc Compiler etwas toleranter. Sprich, im neuen
> Atmel-Studio mus man die Strings im PROGMEM mit const definieren. Steht
> ja auch in der Fehlermeldung (wenn man Fachenglisch versteht)
>
> Dein Link ist aber nicht der "neueste" Stand, hier sind ein paar
> Verbesserungen drin, u.a. das const Problem.
>
> Beitrag "Re: I2CLCD Library für HD44780 LCDs"
>
> Dann sollte man testen, ob man die richtige I2C Adresse hat. Das kann
> man leicht, wenn beim 1. Ansprechen mit der Adresse ein ACK zurück
> kommt, etwa so.
> if (i2c_start(0xAA) ) {
>   // Fehler, kein ACK, IC reagiert nicht auf die Adresse
>   // Fehler-LED einschalten
>   // STOP
> }

Danke für deine Rückmeldung,
ich denke ich weiß jetzt warum nichts klappt.
die momentanen Fehler hab ich mal angehangen. Ist die Einbindung der 
Library die Probleme macht. Ich werde mich mal damit auseinander setzen 
wie das in Atmel Studio geht.
Ich hab sonst nur eigene Librarys benutzt und hatte da keine Probleme.

Falk B. schrieb:
> Oh, ein fast vergessenes Werk ;-)

Das Internet vergisst nie :D

von Falk B. (falk)



Lesenswert?

Roger S. schrieb:
> Danke für deine Rückmeldung,
> ich denke ich weiß jetzt warum nichts klappt.
> die momentanen Fehler hab ich mal angehangen. Ist die Einbindung der
> Library die Probleme macht. Ich werde mich mal damit auseinander setzen

Ist doch nicht sooo schwer. Dateien ins Projektverzeichnis kopieren und 
dann im Projektexplorer im Atmelstudio hinzufügen. Siehe Anhang. Ist mit 
AtmelStudio 6.2 erstellt, sollte aber auch in 7 oder höher importierbar 
sein.

von Roger S. (roger1004)


Lesenswert?

Falk B. schrieb:

> Ist doch nicht sooo schwer. Dateien ins Projektverzeichnis kopieren und
> dann im Projektexplorer im Atmelstudio hinzufügen. Siehe Anhang. Ist mit
> AtmelStudio 6.2 erstellt, sollte aber auch in 7 oder höher importierbar
> sein.

Ja hatte es schon hinbekommen. Hat nur etwas gedauert habe es erst über 
#include und Pfad und dann über add library probiert und auch über den 
Linker. Aber vielen Dank für die Fotos hätten es beschleunigt:D
Und für die überarbeite lib hilft sehr :)

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
Noch kein Account? Hier anmelden.