www.mikrocontroller.net

Forum: Compiler & IDEs LCD-Testprogramm


Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich versuche gerade auf einem ATMEGA16 ein LCD-Display zum laufen zu
bringen (W204B von Reichelt). Leider zeigt das Display keine Reaktion.
Die Anschlüsse sind richtig verkabelt.
Das Programm habe ich von AVR Beginners. Leider leuchtet nur die
Hintergrundbeleuchtung des Displays, es erscheinen jedoch keine
Zeichen.
Bin um jeden Tipp dankbar ^^.

MfG Stefan

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das Display korrekt initialisiert? Schau mal ins Datenblatt des
Displays (ich vermute mal, es handelt sich um eines von Electronic
Assembly) und vergleiche es mit der Initialisierung in Deinem Programm

Autor: Stefa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir nicht sicher, ob das Display richtig initialisiert wurde.
Muss ich aus dem Datenblatt
(http://www.lcd-module.de/deu/pdf/doma/4_20.pdf) die Funktion Clear
Display ausführen? Oder wie initialisiere ich das Display sonst?

MfG Stefan

Autor: Alex1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Auf Seite 4 gibt es Initialisierungsbeispiele (sowohl fuer den 8 Bit
als auch fuer den 4 Bit Modus). Diese kannst Du ausfuehren und musst
dabei die Zeiten beachten. Dann sollte es gehen.

Alex

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp. Leider hab ich noch nicht allzuviel mit AVRs gemacht
und bekomm das leider nicht hin.
Ich bin nicht sicher, ob nicht was am Display selbst defekt ist!
Hat einer von euch ein funktionierendes Programm für mich, mit dem er
selbst schon mal ein Display angesteuert hat?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal das stdiodemo in den avr-libc-Beispielen an, da
gibt's einen HD44780-Treiber.  Der hat noch zwei kleine Macken,
die ich kürzlich beseitigt habe, wenn du damit in der dort
beschriebenen Form nicht klarkommst, dann ruf hier nochmal um
Hilfe, und ich mach dir ein Update fertig.

Das Beispiel benutzt sogar einen ATmega16, da musst du also nicht
einmal was ändern.  Guck dir die Doku nochmal an (liegt auf deiner
Festplatte), wie die Verdrahtung vom AVR zum LCD-Modul aussehen
muss.

Vermutlich wird das Beispiel nur zwei der vier Zeilen ansteuern
können, aber das müsste dir ja erst einmal genügen um zu sehen,
ob dein Aufbau funktioniert.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
p.s.: Vergiss nicht, die Kontrastspannung zu beschalten!

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Kontrastspannung passt sicher.
Mein Problem ist einfach, dass egal was ich mache, die
Displayhintergrundbeleuchtung leuchtet und alle Punkte aufleuchten.
Wenn ich das Demo durcharbeite und auch nur einen kleinen Codefehler
mache, kommt wieder das selbe raus wie bis jetzt, also nichts. Kurz
gesagt, ich will das Display testen, kann ja auch schon bei
Auslieferung kaputt gewesen sein.
Deswegen wäre ich um jedes Programm dankbar, auch wenns nur nen Punkt
ausgibt.

MfG Stefan

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Deswegen wäre ich um jedes Programm dankbar

Nu, dann guck dir doch das stdiodemo mal an.  Den UART-Teil
davon kannst du ja einfach ignorieren, auch ohne dem gibt es
auf dem LCD ein "Hello world!" aus.

Autor: Stefan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe versucht deinen Rat zu befolgen:
Habe die AVR-Lib-Dokumentation zu stdio gelesen und wollte dann aus dem
Codeschnipsel mit Hilfe eines einfachen Makefiles ein Hex-File
generieren. Daraufhin habe ich jedoch Probleme beim Compilieren
bekommen (Siehe Bild LCD.jpg im Zip-Anhang).
Noch eine Frage dazu: Wenn alles funktioniert, wie es soll, schafft es
dann die AVR-LIB, wenn man sie im Code einbindet, dass man mit Hilfe
dieses simplen Codes etwas auf einem Display ausgibt?? Wenn ja, dann
Respekt vor den Programmierern der AVR-LIB. Offenbar gehörst du dazu,
soweit http://savannah.nongnu.org/projects/avr-libc/ die richtige
Adresse für das AVR-Lib ist.
Bitte schaut euch mal mein Makefile an, kann sein, dass es das Problem
ist.

MfG Stefan

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, du solltest nicht nur ein Codeschnipsel aus der Doku
schneiden, sondern bitte das komplette stdiodemo benutzen.
Das sind schon paar Dateien.  Du hast sie auch auf deiner
Platte stehen (hoffe ich), im Internet findest du das hier:

http://www.nongnu.org/avr-libc/user-manual/group__...

Sorry, ich hab' keine Lust, mir eine Zip-Datei nur für ein JPEG
auszuwickeln, zumal das keinen Sinn hat.  Erstens komprimiert
JPEG bereits, sodass das Zip nichts bringt, zweitens wäre für
reine Pixelhaufen GIF oder PNG viel sinnvoller (die haben lossless
compression, JPEG ist lossy compression und hat nur für Fotos
Sinn), drittens kann man Fehlermeldungen als Text kopieren.
Klingt jetzt vielleicht hart, aber bedenke bitte, dass ich das
nebenbei während meiner normalen Arbeit erledigen muss hier.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

erstmal Vielen Dank für die Info, dass man ein JPG nicht weiter zippen
kann. Ich muss schon sagen, dass mich dass verwundert hat, dass man ein
komprimiertes Bild nicht weiter komprimieren kann ^^.
Nur so als Tipp: Man kann Zip-Dateien auch dazu benutzen, um mehrere
Dateien als Dateianhang hochzuladen.

Genug der Ironie. Hab das Display jetzt zum Laufen gebracht.

Trotzdem besten Dank für die Hilfe, ich denke ich weiß jetzt in Zukunft
dass ich zuerst mal in der AVR-Lib suche, bevor ich poste.

MfG Stefan

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nur so als Tipp: Man kann Zip-Dateien auch dazu benutzen, um
> mehrere Dateien als Dateianhang hochzuladen.

Kann man, aber es ist halt mühselig für denjenigen, der sich das
angucken muss.  Wenn es sich um eine simple Fehlermeldung handelt,
ist ein cut&paste des interessanten Textteils davon sehr viel
einfacher zu lesen.  Du verlagerst mit deiner Variante nur die
Arbeit von dir auf denjenigen, von dem du Hilfe erwartest -- und
das finde ich unfair.

Aber schön, wenn dir das Beispiel geholfen hat.  Funktioniert
denn dein LCD damit jetzt?

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.