PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit "laufenden" LCD



freelancerforever
19.10.2005, 17:50
Hallo, ich möchte LCD Display 16*2 anstuern und habe nun ein Problem:
Auf die obere Zeile möchte ich ein durchlaufenden Schriftzug haben, auf die untere ein konstantes Wort. Ich habe bisher probiert:

LCD "Dies ist die obere Zeile"
Do
shiftlcd left
locate 2,1
lcd"unten"
wait 1
loop

mit dem Resultat zwei Laufende Schriftzüge zu haben.
Kann mir jemand helfen, den unteren zum stehen zu bringen?

x-ryder
19.10.2005, 18:53
momentan, was passiert da, das müsste eigentlich so nämlich gehen

chr-mt
19.10.2005, 19:58
Hmmm...
Anscheinend wird beim Shiften der gesamte Speicherbereich verschoben, also auch die Locate - Positionen..

Im Simulator geht's auch nicht :(

wenn ich bei jedem Durchlauf für die untere Zeile die X-Position immer um eins erhöhe, geht es zu einer bestimmten Zahl, dann auch nicht mehr ;)

Gruß
Christopher

x-ryder
19.10.2005, 20:07
denn wirste das wohl "manuell" machen müssen ^^

chr-mt
19.10.2005, 20:17
Ist auch nicht ganz so einfach...
Die Locate Befehle für gehen nur bis 16
Heißt, wenn man den Text zuerst komplett nach rechts verschwinden lassen möchte,
Kann man nicht locate 1, 25 machen...
Zumindest nicht im Simulator..
(Obwohl die Lcds pro Zeile mehr als 16 Zeichen aufnehmen können)

Gruß
Christopher

19.10.2005, 20:26
hab ich auch schon probiert,
meine zweite idee war nämlich mit einer laufvariablen (locate 2,a) die Position immer zu erhöhen und dann wieder von vorn anzufangen (if a=17 then a=1) , aber das funktioniert nur ungefähr 16x und dann nicht mehr.

Marco78
19.10.2005, 20:45
aber das funktioniert nur ungefähr 16x und dann nicht mehr.
Ungefähr oder genau?
Aus dem Bauch heraus würde ich sagen, das A immer um 1 erhöht wird, dann LOCATE ausgeführt und dann erst abgefragt wird ob A zu groß war.

Was passiert denn, wenn es nicht mehr geht?

x-ryder
19.10.2005, 20:48
versteh ich nicht, ich habn 20*4 und es funzt wunderbar (das locaten)
aber du bekommst dann nen anderes problem: wenn du die schreift weiter raus schiebst, dann schiebst du es gleichzietig auch innen anderen speicherbereich, sprich das fängt dann inner anderen zeile wieder an ^^, also musst du auch gleichzeitig den string verkleinern