PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit 16*4 LCD-Display mit Bascom



Raze
15.05.2009, 00:07
Hallo,
bin etwas am verzweifeln. Betreibe ein 16*4 LCD Display welches auch eigentlich funktioniert. Es lassen sich alle Zeilen auch mit Upperline, Lowerline usw. Ansteuern. Auch
Locate 1 , 1 : Lcd "****************"
Locate 2 , 1 : Lcd "* System-Check *"
Locate 3 , 1 : Lcd "* OK *"
Locate 4 , 1 : Lcd "****************"

Aber wenn ich shiftright LCD mit einer Schleife benutze läuft mir der Text aus der Zeile raus und in die übernächste Zeile rein. Habe hier schon alles gefundene ausprobiert, auch bei
Config Lcd = 16 * 4
verschiedene Chipsetbefehle angehängt, leider auch kein Erfolg. Prinzipiell läuft es ja, würde aber gerne in meiner Anwendung auch einen Lauftext mit Meldungen in der vierten Zeile durchlaufen lassen. Damit verschiebe ich aber auch die oberen Zeilen. Hat jemand schon ein gleiches Problem gehabt? Oder hat sonst jemand eine Idee? Wäre sehr dankbar.

Gruß
Raze

linux_80
15.05.2009, 00:18
Hallo,

shiftright ist da nicht ganz das richtige, denn da wird die Startadresse im LCD veschoben, deshalb sind alle Zeilen anders.
Laufschrift musst Du selber schieben, per Variablen.

Raze
15.05.2009, 01:00
Hallo linux_80,
verstehe ich insofern nicht, da in der Bascom Hilfe das so in dem Beispielprogrammen auch dargestellt wird. Es funktioniert auch wenn ich mein 2*16 Display anschließe und einen Text nach liks oder rechts laufen lasse.

Beispielprogramm von Bascom:
Cls 'clear the LCD display

Lcd "Hello world." 'display this at the top line

Wait 1

Lowerline 'select the lower line

Wait 1

Lcd "Shift this." 'display this at the lower line

Wait 1

For A = 1 To 10

Shiftlcd Right 'shift the text to the right

Wait 1 'wait a moment

Next



For A = 1 To 10

Shiftlcd Left 'shift the text to the left

Wait 1 'wait a moment

Next

Gruß

Raze

linux_80
15.05.2009, 01:54
Das ist kein Problem von Bascom, sondern des LCDs.
Wenn das LCD schiebt, wird alles geschoben, man kann nicht nur in Zeile 4 verschieben. Das muss man selber per Software machen.

Raze
15.05.2009, 02:15
Hallo ich glaube, Du hast recht!
Ich habe mir mal die Adressen von einem zweizeiligen LCD angeschaut und von einem 4 Zeiligen. Die 2. und 4. und die 1.und 3. liegen nah beieinander. Beim Zweizeiligen liegen die weiter auseinander. Daher kann es sein, dass beim Zweizeiligen das schieben funktioniert. Ich muss mir das mal morgen anschauen. Auch scheint es ein Unterschied zwischen Upper und Lowerline und locate zu geben. Beim Locate wird der Speicherplatz dann überschrieben, beim Lowerlein verschoben. Das Teste ich aber mal, in dem ich das Display komplett fülle und dann ein Leerzeichen über eine große Schleife durchlaufen lasse. Dann kann man den Unterschied zwischen Verschieben und Überschreiben erkennen. Mach ich aber erst später, da ich ins Bett muss.

Danke für die Info.

Gruß

Raze