Forum: Compiler & IDEs LCD-anzeige initialisieren. wann und wo?


von Rocco W. (klangkind)


Lesenswert?

Tag zusammen.

Mich würde interessieren wann und wie oft ich ein LCD-Display zu 
initialisieren habe.

--- code-anfang
motor rechts{
lcd meldung"motor dreht rechts"
}

motor links{
lcd meldung "motor dreht links"
}

lcd anzeige{
(2)
lcd meldung erzeugen
}

main{
(1)
motor rechts{}
warte 10min
motor links{}
warte 10min
}
---code-ende

Wie initialisiert man richtig? Mache ich das nur am Anfang in der 
main-routine (1)?
Oder schreibe ich es in die LCD-routine (2), so das jedes mal wenn der 
Motor die Richtung ändert, das LCD sich initialisiert bevor es Meldung 
gibt?

gruß Rocco

von Sebastian (Gast)


Lesenswert?

Eigentlich reicht eine einmalige Initialisierung beim Programmstart. Es 
gibt Leute, die die Initialisierung auch zum Löschen benutzen, dann 
natürlich vor jeder Textausgabe. Kostet jedoch unnötig Zeit.

Herkömmliche Text-LCDs sind erstaunlich empfindlich gegen Spikes und 
ESD. Ich habe es schon oft erlebt, daß sich ein Display in 
störungsreicher Umgebung de-initialisierte, daher kann es beim 
Dauerbetrieb eines Gerätes sinnvoll sein, hin und wieder die 
Initialisierung zu wiederholen, sofern dies kein Flackern verursacht.

von Rocco W. (klangkind)


Lesenswert?

Klingt aufschlussreich. Danke Dir.

von avr (Gast)


Lesenswert?

Das Initialisieren kostet viel Zeit. Daher sollte
es nur einmal vorne im MAIN stehen.
Aber wie Sebastian schrieb kann ein Display auch
gestört werden.

Da hilft es wenn man den R/W-Pin an den µC führt.
Damit ist es möglich das Busy-Bit Abzufragen.
Wenn dieses hängt kann man neu Initialisieren und
die Anzeige sollte wieder laufen.

Mit der Busy-Abfrage kann man auch auf manche Wartezeiten
verzichten. Z.B. "Cursor home" senden, dann etwas
anderes bearbeiten und vor der nächsten Ausgabe testen
ob das Display wieder bereit ist.

avr

von Rocco W. (klangkind)


Lesenswert?

Das mit dem BusyBit klingt auch ganz gut. Das muss ich mir mal näher 
ansehen wenn alles zufriedenstellen funktioniert.

Momentan habe ich noch ein wenig Verständnisprobleme was Bits angeht :). 
Wahrscheinlich liegt es am timing, habe es aber noch nicht ganz 
herausgefunden.

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.