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

Gast #89946
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
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
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
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.
Gast
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
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

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.