hallo zusammen... ich brauche unbedingt für meinen code, den befehl, nur eine zeile meines LCD zu löschen... wie kann man das definieren.? das komplette LCd löschen sieht so aus: #define LCD_CLEAR_DISPLAY 0x01 aber wie bekomme ich den hex code für nur eine zeile heraus. danke im voraus mfg. jo
Hi
>aber wie bekomme ich den hex code für nur eine zeile heraus.
Einfach die Zeile mit $20 beschreiben.
MfG Spess
Johannes Adler schrieb: > #define LCD_CLEAR_DISPLAY 0x01 Das ist kein Befehl sondern eine simple Konstante. Vermutlich gibt es dazu eine Funktion die etwa so aussieht
1 | void tue_was_mit_lcd(int aktion) |
2 | {
|
3 | if(aktion==LCD_CLEAR_DISPLAY) |
4 | sende_den_befehl_display_loeschen(); |
5 | }
|
Was heist das konkret: Die Funktion "eine Zeile löschen" muss in der Funktion eingebaut sein, mit einem #define ist es da nicht getan. (Es kann auch sein das die Konstante direkt zum LCD gesendet wird, dann muss der Controller (HD44780 oä) die gewünschte Funktion unterstützen.) Praxistipp: Die Zeile mit Leerzeichen überschreiben.
Ich wüsste jetzt nicht, das man nur 1 Zeile löschen kann. Aber warum überschreibst du nicht die betreffende Zeile mit leerzeichen und dann mit dem neuen Text? Am schönsten ist natürlich, wenn man pro Zeile eine Variable definiert, dann muss man nur die Variable neu befüllen und zB in einem Timer-Interrupt wird die Anzeige dann aktualisiert
danke allen... ich weiß. überschreiben ist am besten. dachte nur es geht profesioneller :) selbst mit variablen für jede zeile...auch keine schlechte idee... danke
Johannes Adler schrieb: > ich weiß. überschreiben ist am besten. dachte nur es geht profesioneller Überschreiben ist professioneller. Dann sieht man nämlich kein Flackern zwischen dem Löschen und dem Schreiben des neuen Textes. Also einfach mit dem neuen Text überschreiben. Und erst, wenn der kürzer ist, füllt man mit Leerzeichen auf. Peter
Peter Dannegger schrieb: > Also einfach mit dem neuen Text überschreiben. Und erst, wenn der kürzer > ist, füllt man mit Leerzeichen auf. Das macht in der Praxis doch keiner! Da füllt man grundsätzlich mit Leerzeichen auf...
Fabian schrieb: > Peter Dannegger schrieb: >> Also einfach mit dem neuen Text überschreiben. Und erst, wenn der kürzer >> ist, füllt man mit Leerzeichen auf. > > Das macht in der Praxis doch keiner! Da füllt man grundsätzlich mit > Leerzeichen auf... Immer rumpfuschen ...
Wieso Pfusch?! ... Bei einem Grafikdisplay übertrage ich auch immer den gesamten Displayinhalt neu und ermittle nicht erst aufwendig, welche Bereiche sich geändert haben, um diese dann kompliziert zu adressieren und selektiv zu aktualisieren... Wieso also dann bei einfachen Textdisplays?!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.