Hi,
mache Displays sind so verschaltet das sie 8x2 Zeilen haben. Das musst
du nur änder in der Config Lcd zeile.
Hallo zusammen,
ich hab kürzlich eines Faxgerät von brother ausgeschlachtet.
Da war ein Display mit nem HD44780 Treiber drin
Das Display hat eine Zeile mit 16 Zeichen.
mein bisheriger Quelltext sieht so aus:
Wenn ich das ganze aber auf dem AVR laufen lasse bekomme ich immer nur die ersten 8 Zeichen zu sehen.Code:$regfile = "m16def.dat" $crystal = 16000000 $baud = 38400 Config Portb = Output Config Lcd = 16 * 1 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.0 , Db6 = Porta.1 , Db7 = Porta.3 , E = Porta.4 , Rs = Porta.5 Cls Waitms 500 Locate 1 , 1 Lcd "Hallo Welt" Portb.0 = 1 Do Wait 1 Toggle Portb.0 Loop
Weiß vielleicht jemand, woran das liegen kann?
Hi,
mache Displays sind so verschaltet das sie 8x2 Zeilen haben. Das musst
du nur änder in der Config Lcd zeile.
Grüße Furtion
Danke, für die schnelle Antwortmache Displays sind so verschaltet das sie 8x2 Zeilen haben
Ich hab es mal mit Config Lcd = 8 * 2 versucht, aber ich hab die Fehlermeldung Unknown LCD type [8*2] bekommen.
dann hab ichs nochmal mit Config Lcd = 16 * 2 versucht. Und siehe da, es ging.
Warum kann ich aber kein Display mit 8*2 Zeichen definieren?
Hi,
kA ich habe es selber auch noch nicht ausprobiert hätte aber gedacht, das es
geht, aber naja haupstache es geht^^
Grüße Furtion
Dann werd ich mir wohl ne Subroutine für die Ausgabe schreiben müssen, die den anzuzeigenden Text automatisch auf die zwei Zeilen (obwohl es ja eigentlich nur eine ist) verteilt.
Ober hat da vielleicht jemand ne bessere Idee?
Auch mal mit "16 * 1a" probiert ?
Ja, das Problem hatte ich auch. Du musst, wie linux_80 schon sagt, "16*1a" nehmen, und die ersten 8 Zeichen ansprechen, als wäre es Zeile 1 und die letzen 8 Zeichen, als wären sie Zeile 2:
Gruß RobinCode:Locate 1, 1 Lcd "hallo123" Locate 2, 1 Lcd "4567890."
Danke für den Tipp. Funktioniert bestens.Auch mal mit "16 * 1a" probiert ?
Wieder mal was dazugelernt.
Lesezeichen