Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > > 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... > > > > > > <code> > > > /************************* > > > 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; > > > > > > } > > > > > > > > > </code> > > > > > > > > > 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: > > <code> > > 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; > > } > > } > > } > > </code> > > > > 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 >