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
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
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
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
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.