Hallo, besagtes Display lag noch in der Kiste und ich wollte es verwenden, allerdings...nun, es gibt Probleme. Ich habe hier einen Thread gefunden, bei dem es diskutiert wurde und es startet auch, zeigt aber in Zeile 1 & 3 den selben Text an - mMn, weil die Init nicht passt, ich habe sie auf 3x12 geändert, dann geht aber gar nix mehr... Beitrag "i2c Display EA 123A" Damit gehts, aber halt in Z1&3 selber Inhalt: write_i2c(0x00); // 00 control byte write_i2c(0x22); // 22 funktions set 1 Linie write_i2c(0x0E); // 0E cursor on, display on write_i2c(0x04); // 04 entry mode set cursor write_i2c(0x8B); // 8B Anzeigepos mMn muss da statt 22 eher 2E stehen, so findet man es auch hier: http://goblack.de/arduino/programme/eat123A-LCD.html ...aber dann hat write_i2c(0x40); // controll byte write_i2c(0xAA); // * write_i2c(0xEF); // H write_i2c(0xEC); // A write_i2c(0xEC); // L write_i2c(0xE1); // L write_i2c(0xC8); // O write_i2c(0xAA); // * keine Funktion mehr. -> Ideen? Klaus.
Hallo hast Du die Schreibposition mal geändert? "Andererseits kommt mir das 0x8B komisch vor, damit schreibst Du ja in den nicht sichtbaren Bereich. Beim "vierzeiligen" Display beginnen die Zeilen bei 0x00, 0x20, 0x40 und 0x60." Mfg
Eigentlich schon, habe 2E statt 22 mit 00, 20, 40 versucht - denn so wäre es richtig. Ich vermute eine Kaskadierung von 2 Fehlern o.ä... Klaus.
...also, egal was ich strukturiert versuche, es bleibt komisch. i2c_start_wait(LCD+I2C_WRITE); i2c_write(0x00); // 00 control byte i2c_write(0x22); // 2E funktions set 1 Linie (22) i2c_write(0x0F); // 0F cursor blink, display on i2c_write(0x06); // 06 entry mode set cursor i2c_write(0x01); // 01 clear display i2c_write(0x02); // 02 return home i2c_stop(); // set stop conditon = release bus _delay_ms(20); Mit "22" schreibt er in Zeile 1 und 3 gleichzeitig den gleichen Inhalt (vermtl wg flaschem 1-Zeilen Modus), mit "2E" bleibt er dunkel, auch wenn ich im Sekundentakt alles mit * vollschreibe (getestet im Modus "22"), die tauchen nie auf, an keiner Adresse. Mist, ein anderes I2C LCD habe ich gerade nicht und vor Allem würde ich es gerne verstehen... Klaus.
Hmm...wenn ich mir meinen zitierten Fred nochmal durchlese: "komisch ist nur, das ich auf verschiedene addressblöcke zugreifen kann. die blink positionen sind auf den standart vom datenblatt und schreiben kann ich auf den anderen (zeile1 80; zeile2 94; zeile3 B4)" Das könnte erklären, weshalb ich im Modus "2E" dann nichts sehe, wenn man letztendlich einen ganz anderen Speicherbereich hat. Morgen mal damit experimentieren. Klaus.
@Klaus R. Was spricht dagegen, das Beispiel aus dem http://goblack.de/arduino/programme/eat123A-LCD.html zu nehmen und schjauen was passiert?
...Arduino spricht dagegen. Ich müsste das alles portieren und dann ist es nicht mehr "das Beispiel". Und ich habe mich ja mMn schon 1:1 daran gehalten. Ich glaube schlichtweg, dass im 4 Zeilen Modus iwie intern ein anderer Speicherbereich verwendet wird, den ich erst "finden" muss. Aber so ganz "rdy to use" kommt mir das Display nicht vor, mit den normalen HD44780 LCDs gab es NIEMALS solche Probleme, nur wäre halt "Klein & I2C" gerade praktisch. Klaus.
...habe noch ein Bascom Beispiel gefunden, das sieht aber ebenfalls gleich aus - nur wieder das Problem, dass "2E" bei mir dazu führt, dass das Display gar nicht aktiviert wird. Habe zwischen den INIT Befehlen nun auch 2ms delays eingeführt, leider ohne Ergebnis - "22" funktioniert weiterhin, aber passt halt nicht zum Display (von denen ich übrigens 3 Stück habe und sich alle gleich verhalten). EDIT: ICH flippe aus - es geht! Mit 2E ist ggü 22 die nötige Konstrastspg eine andere, man muss also am Poti rumdrehen...wer bitte erwartet den solwas :) :) :) -> Das hat wohl was mit dem MUX1:16 vs 1:32 zu tun - irgendwie logisch, aber... EDIT2: So, die arduino libs ließen sich auch fix konvertieren, läuft alles...4h Rätselraten wg so einem dämlichen Fehler :) Klaus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.