www.mikrocontroller.net

Forum: Compiler & IDEs ks0108 an mega128


Autor: Michael Muckermann (miguel)
Datum:

Bewertung
0 lesenswert
nicht 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/g...
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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael Muckermann (miguel)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
glcd_set_chip(0);
ks0108_set_page(3);
ks0108_set_address(31);
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.