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 ! > Hallo TN, > > > ich habe an meinem StarterBoard ein 16x4 Display über das Modul > > rbkeyb.c2 laufen. Nach unbestimmter Zeit der Progammausführung > > werden die Zeichen unlesbar, d.h. undefinierbare Zeichen werden aus- > > gegeben. Erst nach einem Power-Off ist das Display wieder normal. > > Sonst läuft das Programm einwandfrei. Hat jemand ähnliche > > Erfahrung gemacht und eine Lösung gefunden? > > Dies wird durch Störungen verursacht, die ins Displaykabel einstruen. > Die kritische Länge fangt bei Flachbandkabel ca. bei 25cm an. > Allerdings hängt es auch von den Störungen ab. > Wenn das Display bzw. das Kabel direkt neben ein Schütz führt, > so lässt sich das nicht vermeiden. > Auch, wenn sich das Kabel in der Nähe von 230V Leitungen befindet, > lassen sich solche Störungen nicht ohne zusätzliche Hardware vermeiden. > Hier gibt es zwei Möglichkeiten, um dieses "Abstürzen" zu vermeiden: > 1. Kabel kürzen > 2. Statt einem Flachbandkabel ein geschirmtes Rundkabel benutzen. Das wirkt Wunder ! > Dies ware die Möglichkeiten zur Minimierung der Störungen. > Um nun eine Störung während dem laufenden Betrieb zu "beseitigen", hat Willi > schon das richtige geschrieben: > Einfach zyklisch (z.B. alle 10 Minuten) einen Init() durchführen. > Dies kannst Du einfach in dem Thread machen, der die Anzeige übernimmt: > <code> > byte flag; > ... > if system.minute()%10==0 > { > if flag==0 > { > rblcd.init(); > flag=1; > } > } > else flag=0; > ... > </code> > > Der Grund, warum das Display Zeichensalat anzeigt, ist, daß ein Datennibble > durch eine Störung "verschluckt" wird oder eines dazukommt. > > Ausprobieren kannst Du es, wenn Du irgendwo im Programm ein > <code>ports.pulse(rblcd.En);</code> einbaust, welches Du extern einmalig auslösen > kannst, wenn es wieder zum Zeichensalat kommt. Dann sollte das Display auch > wieder korrekt anzeigen. > > MfG André H.