ks0108 an mega128

OP #536969
Lesenswert?
• ▲
▼
Hallo,

ich möchte ein Grafikdisplay (EA W128-6N2) an einem mega128 betreiben.

Habe zuerst den ks0108/glcd-Treiber aus der pycron avrlib versucht:
http://hubbard.engr.scu.edu/avr/avrlib/docs/html/group__ks0108.html
dann den von Holger Klabunde aka "Holgi" von hier:
http://www.holger-klabunde.de/avr/avrboard.htm#ks108

beide haben nicht funktioniert, das Display bleit nach dem Start 
komplett schwarz. Den Status lesen klappt, und zumindest das DisplayOn, 
weil ich das rücklesen kann. Leider habe ich keinen anderen Displaytyp 
zum Vergleichen :(

Das Forum hab ich komplett abgegrast und dabei die Variante von ape 
gefunden, hat aber leider auch nicht geklappt.

Hat jemand (positive) Erfahrungen mit diesem Display?

Wär super wenn jemand den Code im Anhang mal kurz ausprobieren könnte 
bzw. sehen kann wo der Fehler liegt, ich weiss nicht mehr weiter...

Gruß

Micha
Gast #537305
Lesenswert?
• ▲
▼
Da ist kein Code...

Zumindest die libs von Holger Klabunde und ape funktionieren bei mir an 
einem artverwandten EA DIP128-6N5LW problemlos, wenn man die delays 
anpasst. Hast du wirklich alles richtig angeschlossen? Reset auf 5V, 
oder am Mega128? Das status-byte lässt sich auch im RESET-Zustand 
lesen...

Oliver
OP #537645
Lesenswert?
• ▲
▼
Sorry, hier der Code.

Ich habe die Ports und Pins so belegt, wie es im (hoffentlich bald) 
fertigen Design sein wird: PA0:7 für Daten, PC5:7 für RS, E und RW, 
PG0:2 für CS0,1 und /RST

Die Reset-Leitung war zuerst auf 5V, aber im Samsung-Datenblatt stand 
etwas von min. 1 us Reset-Zeit nach Anlegen der Versorgungsspannung. 
Kann man das ignorieren?
Nach jedem "Anfassen" der Enable-Leitung gibt es ein 500 ns-delay, nach 
Änderungen an den CS-Leitungen ein paar nop's. Vor jedem Schreiben wird 
auf das busy-flag gewartet.
Nach der Initialisierung lese ich als Status 0x00, vor dem 
DisplayOn-Befehl 0x30. Scheint als würde die Instruktion verarbeitet, 
aber bei Daten tut sich nix.

Gruß

Micha
Angehängte Dateien:
Gast #537720
Lesenswert?
• ▲
▼
Nimm doch erst einmal das Beispiel von ape, Reset auf 5V, und probier es 
damit. Damit schliesst du Code-Probleme aus.

Abgesehen davon ergibt
1
glcd_set_chip(0);
2
ks0108_set_page(3);
3
ks0108_set_address(31);
4
ks0108_outdata(0x00);

einen schwarzen Strich auf schwarzem Hintergrund, und das scheint ja 
genau das zu sein, was du auch siehst :-) Aber da hast du sicher schon 
anderes probiert, oder?

Oliver

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.