Hallo! Ich bin gerade dabei das Display SP14Q002 von Hitachi mit 320x240px über einen SED1335F anzusteuern. (s.a. http://www.mikrocontroller.net/forum/read-1-29525.html ) Klappt auch recht gut. Text und Grafik lassen sich ohne Probleme an den SED1335 übertragen. Mein Problem liegt nun darin, dass das erste und das letzte Byte in jeder Zeile dupliziert dargestellt wird. Und zwar so wie ich es hier mal versuche darzustellen: 1 ... 320 ___________________________________________________ 1 | A| 1 2 |ABC | 2 3 | | 3 4 | .| 4 5 |. | 5 ... ... 240 |_____________________________________________________| 240 In Der Zeile 2 An Position 1 wird der Text ABC ausgegeben - dann erscheint der erste Buchstabe auch in Zeile 1 an Position 320!! Das gleiche umgekehrt - wenn z.B. in Zeile 4 an Position 320 ein Pixel gesetzt wird, taucht es auch in Zeile 5 an Position 1 auf!!! Sogar wenn der Blinkende Cursor am Rand der Displays ist, wird er Doppelt dargestellt! Weiss jemand woran dass liegen könnte ?! Hier mal die Initialisierungssequenz (Sprache: Java - spielt aber keine Rolle ; unwichtige Sachen habe ich gekürzt. write(true,xxxxx) sendet ein Kommando an den SED1335, write(false,xxxxx) sendet Daten...): [...] write(true, SYSTEM_SET); write(false, 0x30); // | 0 | 0 | IV | 1 | W/S | M2 | M1 | M0 | write(false, 0x87); // | WF | 0 | 0 | 0 | 0 | FX | FX | FX | write(false, 0x07); // | 0 | 0 | 0 | 0 | FY | FY | FY | FY | write(false, 0x27); // C/R write(false, 0x5f); // TC/R write(false, 0xef); // L/F write(false, 0x27); // APL write(false, 0x00); // APH write(true, OVLAY); write(false, 0x01); // | 0 | 0 | 0 | OV | DM2 | DM1 | MX1 | MX0 | write(true, SCROLL); write(false, 0x00); // SAD1L write(false, 0x00); // SAD1H write(false, 0xef); // SL1 write(false, 0xb0); // SAD2L write(false, 0x04); // SAD2H write(false, 0xef); // SL2 [...] write(true, DISP_ON); write(false, 0x16); // | FP5 | FP4 | FP3 | FP2 | FP1 | FP0 | FC1 |FC0 [...] MfG, Dominik S. Herwald http://www.dsh-elektronik.de/
Hallo Dominik, Setzte denn APL mal auf 0x28, dann musste es richtig funktionieren. Kannste es auch auf ein größere zahl setzten zum einfacher rechnen. Grüße Mark.
Hallo Mark! Danke für deine Antwort, aber das hab ich auch schon getestet - ergibt nur seltsame Verzerrungs Effekte auf dem Display - funktioniert also nicht. Ich habe da auch schon sowohl bei C/R und APL andere Werte getestet (größer oder kleiner 27) - jedesmal kam es zu fehlerhaften und verzerrten bzw. verschobenen Darstellungen. Es funktioniert eigentlich nur mit 0x27 (= 39 Dezimal) für beide... Gibt es evtl. eine andere Möglichkeit das Problem zu lösen? MfG, DSH
Ich weiss zwar nicht wo dran es liegen kann, aber probier doch einfach mal meine Initialisierungswerte. Ich hatte ja auch schon ein Thread aufgemacht: http://www.mikrocontroller.net/forum/read-4-39083.html MfG formtapez
Tja - Bilder sagen schätzungsweise mehr als Worte: So sollte es aussehen (s. Anhang - Und der rechte Balken am Rand sollte eigentlich gar nicht da sein, es wird nur der linke gezeichnet!) ...
Und so sieht es mit deinen Initialisierungswerten aus (aber auch nur wenn ich eben APL auf 28 setzte! Mit 27 gehts!) Funktioniert dass so bei dir wirklich ohne Probleme? Seltsam ... MfG, DSH
Sorry da habe ich wohl etwas zu voreilig gepostet. Es geht nun doch - der Cursor wurde noch falsch gesetzt - dass hatte ich an APL = 0x27 angepasst und nicht an APL = 0x28... Da wurde z.B. die Adresse beim Setzten eines Pixels noch mit int adr = (x / 8) + (y * 39) + 0x4b0; und nicht mit int adr = (x / 8) + (y * 40) + 0x4b0; berechnet! Lag mal wieder an so einer kleinigkeit packSichAnDenKopp Jetzt gehts aber wunderbar! freu Vielen Dank an euch beide! MfG, Dominik S. Herwald http://www.dsh-elektronik.de/
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.