Archiv verlassen und diese Seite im Standarddesign anzeigen : Display zeigt nur die hälfte...
Robin1508
06.02.2008, 14:54
Hi, ich hab vorhin mein 16*1 Display getestet. Doch es zeigt irgentwie nur die Hälfte an... Wenn ich einen 16 Zeichen langen String ausgeben will, kommt genau die hälfte davon.
Mein Code ist:
$regfile = "m32def.dat"
$crystal = 16000000
Confid Lcd = 16 * 1
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Cls
Locate 1 , 1
Lcd "Ichbinsechzehn.."
probiere es mal so:
Confid Lcd = 16 * 1A
Kannst ja mal in der Hilfe zu "config lcd" gucken, da isses erklärt.
Gruß
Christopher
Hallo Robin1508,
dein Display ist vermutlich als 2x8 organisiert.
Locate 1 , 1
Lcd "Ichbinac"
Locate 2 , 1
Lcd "chtunddr"
Also ich bräuchte ein größeres Display :D
Gruß, Michael
Robin1508
06.02.2008, 15:14
Ok jetzt hab ich das mit dem 1A eingestellt.
Ich hab mein Code so optimiert:
$regfile = "m32def.dat"
$crystal = 16000000
Confid Lcd = 16 * 1A
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Cursor off Noblink
Cls
Locate 1 , 1
Lcd "Ichbinsechzehn.."
Er zeigt jetzt zwar beide Seiten an, also den kompletten Text, aber die Rechte seite Blinkt... wieso das ?
ein CLS in einer Repeat Schleife bringt auch nichts. Der Text bleibt nach wie vor und die rechte Seite blinkt.
Oo
dein Display ist vermutlich als 2x8 organisiert.
So ist es wohl.
Das "A" bei der LCD Konfiguration ist für genau diese Typen gedacht.
Das Locate 2 kann man sich damit sparen.
Gruß
Christopher
Hi,
füge mal ein END als letzten Befehl an.
Gruß
Christopher
Robin1508
06.02.2008, 15:31
Ja Mit nem End funktioniert es. Aber nicht in ner Schleife..
Ich versteh das noch nicht ganz. Ich möchte den Fehlern ja nich aus dem Weg gehn, sondern versuchen das ganze zu verstehn ^^ Ich frag mich nur wieso sich in ner Schleife nur die rechte Hälfte mittels CLS löschen lässt?
Na,
dann poste doch mal deinen Code mit der Schleife.
Gruß
Christopher
Robin1508
06.02.2008, 15:38
$regfile = "m32def.dat"
$crystal = 16000000
Confid Lcd = 16 * 1A
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
Cursor off Noblink
Do
Cls
Locate 1 , 1
Lcd "Ichbinsechzehn.."
Waitms 200
Loop
Hi,
könnte sein, das dein CLS zu schnell kommt (200mS sind ja nicht gerade viel für das menschliche Auge) und das dadurch der Eindruck entsteht, daß nur die Hälfte gelöscht wurde.
Sieht des denn zB. bei Wait 2 genauso aus ?
Gruß
Christopher
Robin1508
06.02.2008, 15:51
Jop, nur die Rechte Seite verschwindet durch Cls..
Robin1508
06.02.2008, 16:03
Was mir auch auffällt ist, dass wenn ich ein Zeichen vom 1. bis zur 16. stelle durchlaufen lasse, erscheint es nur in der Linken hälfte, sobald es bei der 9. Stelle sein sollte verschwindet es.
Do
Locate 1 , X
Lcd "#"
If x < 16 Then
x = x + 1
Endif
if x = 16 Then
x = 1
Endif
Waitms 200
Loop
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.