2.Zeile LCD nicht erreichbar

OP #1827233
Lesenswert?
• ▲
▼
Hallo

Ich habe mir von MyAVR ein Entwicklungsboard gekauft und selber 
zusammengelötet. Doch funktioniert dieses nicht so richtig. Wenn ich in 
die 2. Zeile springen will dann funktioniert es einfach nicht. Dasselbe 
gilt auch wenn ich keine Libs nutze sondern alles von Hand mache. Das 
heisst dass ich die Adresse 145 nutze, also irgendwo zweite Zeile, und 
ich die Position auslese dann zeigt er mir trotzdem 128 an(Ende erste 
Zeile). Aus meiner Sicht stimmt auch die Initialisierung da ich sie vom 
Datenblatt übernommen habe.

Ich weiss echt nicht was das Problem sein könnte. Auch alle 
Beispielprogramme funktionieren nicht.
Angehängte Dateien:
Gast #1827262
Lesenswert?
• ▲
▼
Hi

> Das heisst dass ich die Adresse 145 nutze, also irgendwo zweite Zeile, und
>ich die Position auslese dann zeigt er mir trotzdem 128 an(Ende erste
>Zeile). Aus meiner Sicht stimmt auch die Initialisierung da ich sie vom
>Datenblatt übernommen habe.

Wie kommst du auf diese Adressen?

Erste Zeile:  0x00...0x0F
Zweite Zeile: 0x40...0x4F

MfG Spess
OP #1827284
Lesenswert?
• ▲
▼
Das ist ein 2x16 Display. 145 ist nur ein Test-Wert und völlig erfunden. 
128 ist die höchste erreichbare Adresse, welche ich setzen kann. 
Allerdings stimmt deine Theorie dass die Adresse 64 der Anfang der 
2.Zeile sei nicht.

Wen ich versuche einen so langen String auszugeben dass er auf die 
nächste Zeile springen sollte dann fängt er auf der 1. Zeile vorne an.
Gast #1827299
Lesenswert?
• ▲
▼
Hi

>128 ist die höchste erreichbare Adresse, welche ich setzen kann.

Nein. Die höchste Adresse, die der 'Set DD-Ram Address'-Befehl zulässt, 
ist 127

>Allerdings stimmt deine Theorie dass die Adresse 64 der Anfang der
>2.Zeile sei nicht.

Keine Theorie, sondern dein Datenblatt S.10.

MfG Spess
OP #1827329
Lesenswert?
• ▲
▼
Das Problem hat sich von selbst erledigt!?!??? Ich habe das Projekt 
nicht geändert oder sonst etwas gemacht. Nur einmal neu kompliert und 
siehe da, es funktioniert. Ich habe mich jetzt immer wieder drangesetzt 
und versuchte alles mögliche und funktioniert hat es nie.

Wahrscheinlich hab ich immer zu weit gesucht.

Danke.
#1827330
Lesenswert?
• ▲
▼
Hast du deinen Code ohne Warnungen/Errors durch den Compiler gebracht?

Schau dir mal diesen Auszug aus lcd_init an
1
  lcd_write(0b00100000, 0);
2
  lcd_enable();
3
  _delay_ms(5);
4
  lcd_write(ob00101000, 0);

Achte auf die letzte Binärzahl. Das ist da vorne keine 0 sondern ein 
kleines o.
Was immer das auch macht, es macht auf jeden Fall nicht das Gewünschte, 
nämlich das Display auf 2 Zeilen zu setzen und damit gilt der SetFunc 
Befehl unmittelbar davor, der das LCD auf 1 Zeile setzt.

Ob ich jetzt noch rausfinden will, wieso das überhaupt compiliert, weiß 
ich noch nicht. Auf jeden Fall solltest du noch den Compiler Output 
studieren, denn ich denke das wird nie und nimmer durch den Compiler 
laufen und in Wirklichkeit läuft bei dir alter Code auf dem µC. Der 
Compiler sieht ob00101000 als Name einer Variablen an, die nicht 
existiert.
OP #1827357
Lesenswert?
• ▲
▼
Allerdings war das Problem dass AVR-Studio die Header erst in der neuen 
Version kompliert wenn sie gespeichert sind. Dann hatte ich 
wahrscheinlich immer die alte Version des Headers drin und die neue 
Version hatte eine ganz neue Version der Initialisierung drin. Die alte 
funktionierte natürlich nicht, aber diese wurde immer verwendet bis ich 
dann per Zufall das bemerkte. Das wusste ich auch nicht und es tut mir 
Leid.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.