Re: LCD-Display 16x4 Kategorie: Sonstige Hardware (von André H. - 21.04.2004 18:57) | ||
Als Antwort auf LCD-Display 16x4 von TN - 18.04.2004 18:04 | ||
| ||
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: byte flag; ... if system.minute()%10==0 { if flag==0 { rblcd.init(); flag=1; } } else flag=0; ... 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 ports.pulse(rblcd.En); 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. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: |