LCD Ansteuerung komisch

Gast #842618
Lesenswert?

Hallo,

ich mache LCD Ansteuerung und habe ein Problem. Wenn ich ein Text auf 
Display in der main-Funktion ausgebe, dann erscheinen kryptische Zeichen 
und erst nach dem Reset wird das richtige Text angezeigt. Warum ist das 
so? Was mache ich falsch?

Der Code zur Initialisierung und Ausgabe des Textes auf Display ist 
richtig. Da nach Reset ja alles korrekt angezeigt wird. Aber 
kommischerweise erst nach dem Reset betätigt wird bzw. nach jedem 
zweiten Flaschen des Programmcodes.

Danke für Hilfe!!
Gast #842803
Lesenswert?

Na, ich bin Wahrsager (mein Werkzeug ist eine Glaskugel), darum kenn ich 
die von dir verwendete Hardware (LCD Typ, Controller, Programm) 
natürlich auswendig. Darum habe ich auch sofort gesehen dass der Fehler 
in Zeile 473 deines Programms steckt.
Gast #842828
Lesenswert?

:-)))

LCD von Displaytech Ltd. 202A, 2-zeilig. mit KS0066U Controller.
Die Ansteuerung wird in 4-Bit Mode über Schieberegister betrieben.
Wie gesagt, das kommische ist, dass die Anzeige bei jedem zweiten 
Flashen bzw. jedem zweiten Reset richtig angezeigt wird! ich gebe also 
in der main() eine Text auf Display aus: "Hallo Welt!".
Bei jedem zweiten Reset bzw. Flashen des Programmcodes auf den 
Mikrocontroller (Atmega644 mit 16MHz) wird der Text richtig angezeigt. 
Ich sehe also entweder "Hallo Welt!" und wenn ich Reset drücke bzw. neu 
flashe, dann sehe ich ein kryptisches Text.. drücke ich wieder Reset 
bzw. neuflashen, sehe ich kryptischen Text und so weiter... also scheint 
irgendwie ein Toogle-Verhalten zu sein :-))

Ich weiß nicht woran das liegen kann... habt Ihr eine Idee?

Danke!!
#842859
Lesenswert?

hi,

da es im laufenden betrieb auch bei jedem 2. durchlauf hapert ist die 
initialisierung vermutlich nicht das problem.

wie sieht es allerdings mit deinen routinen rund um das erwaehnte 
schieberegister aus? wenn da an einer stelle ein fehler im ablauf liegt 
oder was vergessen wurde kann das durchaus bits stehenlassen die dann 
beim naechsten durchlauf muell erzeugen.
Gast #844082
Lesenswert?

Frage(n) zur weiteren Eingrenzung des Problems:

A) Definierten Ausgangszustand sicherstellen:

 Ist das Verhalten nach den Einschalten (Power On) immer identisch?
 Falls ja, wie ist Ausgabe? (Verständlich oder Alt-Ägyptisch?)
#844102
Lesenswert?

WorkMännchen wrote:
> LCD von Displaytech Ltd. 202A, 2-zeilig. mit KS0066U Controller.
> Die Ansteuerung wird in 4-Bit Mode über Schieberegister betrieben.
> Wie gesagt, das kommische ist, dass die Anzeige bei jedem zweiten
> Flashen bzw. jedem zweiten Reset richtig angezeigt wird!

Jau, dann hast Du wohl die Initialisierung nicht lt. Datenblatt gemacht.

Das Schalten von 8Bit nach 4Bit geht schief, wenn man schon im 4Bit ist.

Daher schaltet die Initialisierung lt. Datenblatt erstmal 2-mal auf 
8Bit.


Peter
Gast #844164
Lesenswert?

So, jetzt ist alles sehr komisch. Als ich die Wartezeiten (in ms) etwas 
geändert habe... dann verhält sich die Ausgabe noch anders. Früher hatte 
ich bei jedem zweiten Reset eine richtige Anzeige und sonst kryptisch. 
Jetzt ist die Ausgabe zufällig, einige Male richtige Anzeige, einige 
Male verschobene Anzeige um einpaar Stellen, und einige Male kryptische 
Anzeige...!!!
Alles hat Zufallscharakter!

Komischerweise, wenn ich kein Reset mache, sondern die Spannung am Board 
ausschalte und wiedereinschalte, dann wird am Anfang alles richtig 
angezeigt. Jedoch beim Flashen und Reset verhält sich die Anzeige 
komisch...

Die Wartezeiten die ich verändert habe liegen in ms Bereich. Also auf 
jeden Fall länger als erforderlich. Wenn ich also die Wartezeiten bei 
Initialisierung und Ausgaben ändere, ändert sich das Verhalten des LCDs.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren