Habe ein 128 x 64 Grafik Lcd. Daten schreiben funzt ohne Probleme, aber wenn ich z.B. nur einen Pixel setzen will, dann muß ich ja die entsprechende Adresse erst auslesen, ändern und wieder zurück schreiben. Das funktionert auch fast, aber 1 bit bleibt immer 1... also wenn ich eine Page komplett lese und an eine andere stelle kopiere, dann hab ich immer einen strich einmal quer durch. Wenn ich etwas schreibe ohne vorher zu lesen geht es, nur muß man ja leider immer jedes byte lesen um einen einzelnen Pixel zu setzen. bsp. bit 5 ist gesetzt. wenn ich jetzt das 6. bit noch setzen will muß ich ja vorher lesen weil sonst bit 5 wieder null ist.
Kannst du mir sagen warum meine Schaltung nicht läuft ? Natürlich nicht, denn du kennst meine Schaltung nicht. Genauso geht es jedem, der dein Problem liest: Es wäre hilfreich zu wissen welchen Controller dein Display hat, und welche Befehle du verwendest...
hehe ist ein KS108B mit wie gesagt 128x64 pixel. Befehl: R/W + D/I auf High, dann enable puls. Byte einlesen und ein bit ist immer auf 1 auch wenn in wirklichkeit 0 ist. Also wenn ich ein byte auslese z.B. 0b00000000 und dann genau das selbe byte zurückschicke ist es nicht mehr 0x00000000 sondern 0b00000010. Schreiben funktioniert aber. Also wenn ich 0b01010101 schreibe wird es korrekt angezeigt. lese ich das wieder aus und schreibe es zurück (ohne es zu verändern) so habe ich dann 0b01010111 auf dem LCD. Ich vermute das ding hat ne macke in der logik.
Schau Dir mal die D1-Leitung genau an, das hört sich ziemlich nach einem Hardware-Problem an - z.B. eine schlechte Lötstelle oder eine Brücke irgendwo.
Hallo Sebastian, wenn ich mich richtig erinnere musst du beim KS108B zweimal die Daten auslesen um das korrekte Ergebnis zu bekommen. Beim ersten auslesen gibt er dir alte Daten aus und erst beim zweiten auslesen bekommst du die korrekten Daten. Vielleicht liegt es ja nur daran. Gruß Volker.
an dem 2 mal lesen kann es nicht liegen. Habe Page und Adresse gesetzt z.B. beides 0, dann lese ich die komplette zeile (welche leer ist) in ein 64 byte array. anschließend schiebe ich das array auf eine andere Page und dann hab ich den besagten Strich einmal über die ganze Page. Zur Lötstelle... hab mal das Teil neu angeschlossen (neu gelötet), auch wenn ich glaube das dies nix bringt, weil Schreiben hat ja funktioniert, aber mal gucken... vielleicht bringt es ja doch was
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.