PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD-Lauftext



seventh_son
13.06.2007, 13:34
Hallo,

kann ich mit LCD-Befehlen erreichen, dass ein Text von links nach rechts
durchläuft und nach dem Verschwinden wieder links erscheint, Buchstabe
für Buchstabe? Also so, dass der Text quasi eine Runde dreht.

Mir ist bekannt, dass man das über einen String mit Leerzeichen an den
Enden realsieren kann, indem man immer nur einen Teil des Strings
überträgt und einen Counter mitlaufen lässt.

Mich würde jetzt interessieren, ob es auch eine Lösung gibt, wenn man
keine Leerzeichen in den Text einbaut, sondern ohne Tricks die
LCD-Kommandos bemüht.

Den Text kann ich ja mit einer Rechtsverschiebung des Displays schonmal
bis ans Ende durchlaufen kassen. Nur wie lasse ich ihn dann Buchstabe
für Buchstabe wieder am linken Rand erscheinen?

tobimc
13.06.2007, 22:21
Hi

Soweit ich weis gibt es diese Möglichkeit mit HD44780-kompatiblen Controllern nicht.
Eine Möglichkeit, die mir einfällen würde wäre ein 2. String, der den Displayinhalt enthält.
Den kannst du dann in bestimmten Zeitintervallen verändern und zum Display schicken.

vlg

Feuerfalke
24.06.2007, 21:30
Mal 'n stück Code als Denkanstoß, allerdings mehr oder weniger nur Pseudocode, da ich keine Ahnung hab, wie man das Display ansteuert.



void Lauftext()
{
while(1)
{
char tmp;
char ausgabe[5] = {'H', 'a', 'l', 'l', 'o'};

display<<ausgabe;

tmp = ausgabe[0];

for(int i = 0; i <= 6; i++)
{
ausgabe[i] = ausgabe [i+1];
}

ausgabe [4] = tmp;
}
}


Keine Garantie auf Funktionstüchtigkeit. Ist nur so schnell hingeschrieben. Allerdings sollte noch 'n sleep mit rein genommen werden. Sonst rauscht das Ganze durch;