Hallo,

mit dem PIC16F887 steuer ich ein Graphik-LCD an (http://www.tigal.com/files/download/...glcd128x64.pdf).

Die Punktansteuerung funktioniert auch ohne weiteres. Doch wenn ich eine Page auslesen möchte, liefert das Display völlig falsche Werte.
So sendet das Display 1 statt 2 als Bytewert (also immer um eins versetzt):

Hier ist meine Readfunktion:
Code:
char read(){
  TDB = 0xFF; //Databus-Pins: Input
  RS = 1;  //Control-wires: RS: H ; R/W: H
  RW = 1;
  Delay_ms(1); //Wait 1 ms
  E = 1; //ENABLE: H
  Delay_ms(5); //Wait 5 ms
  input = DB;  //Read Databus
  E = 0;  //ENABLE: L
  RS = 0;
  RW = 0;
  Delay_ms(1); //Wait 1 ms
  TDB = 0;  //Databus-Pins: Output
  DB = 0; //Control-wires: RS: L / R/W: L / Databus: L

  return input;
}
Mache ich irgendwelche Dinge falsch?

MfG Sebastian