Re: Display Probleme (flackern) Kategorie: Sonstige Hardware (von Norbert - 28.05.2005 20:49) | ||
Als Antwort auf Re: Display Probleme (flackern) von wema - 24.05.2005 1:03 | ||
| ||
> > Hi! > > Danke erstmal für die Antwort! > > Ja, du könntest da recht haben, mein Problem ist nur dass ich mich erst seit kurzem mit der Unit > > beschäftige und daher mich als sehr unerfahren bezeiche... > > Wie verhindere ich denn dass flackern?? Als Anhang mein kleines Programm mit dem ich teste... > > > > > > /************************* > > Textausgabe am LCD > > **************************/ > > > > //------------ > > thread main > > //------------ > > { > > string s,t; > > > > lcdext.init (); > > lcdext.goto(0,1); > > s = "Versuch 1"; > > lcdext.print(s); > > > > > > lcdext.goto(2,5); > > t = "VMA AE"; > > lcdext.print(t); > > sleep 100; > > > > } > > > > > > > > > > > > MfG > > Hallo, > > ein thread mit der Bezeichnung "MAIN" wird immer wieder neu aufgerufen. Daher auch das Flimmern. > Um das zu vermeiden, gibt es m.E. zwei Möglichkeiten: > 1. Wenn statische (also unveränderbare) Anzeigen dargestellt werden sollen, dann mu�t Du dafür > sorgen, das dieser Aufruf nur einmal erfolgt. > > 2. Bei veränderbaren Anzeigen (Temperaturen etc.) sorge ich persönlich immer dafür, dass zuerst > überprüft wird, ob sich der dazustellende Wert gegenüber der aktuellen Darstellung geändert hat. > Eine erneute Darstellung wird dann erst vorgenommen. Als Beispiel: > > thread Anzeige > { > int wert_neu,wert_alt; > wert_alt = wert_neu; > loop > { > wert_neu = ad(3); // bitte nicht in ein Modul einfügen. Ist nur als Beispiel gedacht und wird so nicht > // funktionieren. > if wert_neu != wert_alt // wenn die beiden Variablen ungleich sind, dann ... > { > lcd.clear(); > lcd.zahl(wert_neu); > wert_alt = wert_neu; > } > } > } > > > Ich hoffe, ich konnte Dir ein wenig helfen. > > Gru�, > wema Hallo : eine ähnliche Lösung ist ein "Byte refresh;" als globale Variable. Dazu leiste ich mir ein eigenes Modul mit Namen global. Alle möglichen threads (oder Funktionen) dürfen das Flag auf 1 setzen, nur function display nimmt das flag zurück. Grü�e aus dem Norden, Norbert | ||
Antwort schreiben Antworten: |