128 x 64 LCD 1 bit läßt sich nicht lesen

Gast #89946
Lesenswert?

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.
Gast #89947
Lesenswert?

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...
Gast #89948
Lesenswert?

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.
Gast #89950
Lesenswert?

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.
Gast #89951
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren