LCD-anzeige initialisieren. wann und wo?

OP #1345374
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
Gast #1345396
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.
Gast #1345440
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
OP #1345576
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.