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 Rolf, > > > Wenn ich Dich richtig vestehe, ist aber in lcdext.clear(); ein implizites lcdext.line(1); > > eingebaut was durch Timingprobleme jedoch nicht erfolgreich ausgeführt wird. > > Nein. Clear ist ein eigenes Kommando. DAs kann man in derFunktion auch > gut erkennen: > > function clear() > { > WriteCmd(0x01); > sleep 3; > } > Das Kommando "1" wird mit RS low zum LCD gesendet. > Dieses löscht daraufhin den DDRAM und setzt den Cursor wieder auf HOME. > Was durch die Wartezeit von 2ms passiert ist, lässt sich leicht erklären: > clear() wurde korrekt ausgeführt. Nur war das isplay danach noch nicht bereit > für neue Daten, sodaß ein paar Zeichen "verschluckt" wurden. > > > (Das ist der Nachteil von asm-Treibern.... ich müste mich jetzt erst in den asm-Code vortasten... > > um mir selbst solche Fragen beantworten zu können...) ;-) > > Das ist überhauptkein Nachteil. WriteCmd() sendet ein Kommanto-Byte zum LCD. > WriteCmd(0x01); sendet das Kommando "1" welches clear bedeutet. > (Nachzulesen in jedem Standard-LCD-Datenblatt.) > > Übrigens macht die ASM-Routine zu WriteCmd() nichts anderes als folgendes: > <font face="courier new" size=2>function WriteCmd (byte cmd) > { > ports.set(RW, 0); > ports.set (RS, 0); > ports.setn (Data, cmd shr 4);// HighNibble > ports.pulse(En); > ports.setn (Data, cmd); // LowNibble > ports.pulse(En); > }</font> > und die für put() nichts anderes als dieses: > <font face="courier new" size=2>function put(byte char) > { > ports.set(RW, 0); > ports.set (RS, -1); > ports.setn (Data, char shr 4);// HighNibble > ports.pulse(En); > ports.setn (Data, char); // LowNibble > ports.pulse(En); > }</font> > > > MfG André H.