Hallo Leute, habe ein ganz komisches Phaenomen: Habe auf Lochraster ein LCD Display geloetet, so ein dreizeiliges EA-DOG mit integriertem ST7036 Controller. Ich betreibe das im 4bit Modus, steuere es ueber einen ATTiny2313 vom STK500 aus. Auch den Strom liefere ich ueber das STK500. Das Display funktioniert, aber nur, wenn ich exakt 2 mal die Reset Taste des STK500 druecke. Woran kann das liegen? STK500 einschalten -> Display bleibt schwarz, nur LED-Hintergrundbeleuchtung faengt an zu leuchten. 1 x Reset druecken --> Display bleibt schwarz 2 x Reset druecken --> Display funktioniert ab jetzt, kann beliebig oft resetten oder den Mikrocontroller per ISP neu bespielen. Hat jemand eine Ahnung, woran das liegen koennte? Anbei mein Code soweit.
Hi
>Hat jemand eine Ahnung, woran das liegen koennte?
LCD-Init nicht in Ordnung.
MfG Spess
Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach ueberprueft. Ausserdem: Wenn ich jetzt ab dem 2. Mal reset am Chip druecke, wird die mittlere Zeile auf Double Height Mode geschaltet und die untere verschwindet. Druecke ich nochmal reset am STK500 geht es wieder in den Ursprungsmodus. Aber ich rufe nie irgendwas auf, das in den Instruction Table 2 schaltet, zumindest nicht laut der mitgelieferten Broschuere.
Hi >Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach >ueberprueft. Dann sieh dir mal die 4-Bit-Initialisierung im Datenblatt vom ST7036 an. Die sieht irgendwie anders aus. MfG Spess
>Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach >ueberprueft. Aktivier mal den BOD oder mach ein fettes Delay vor die Init. Es soll Displays geben die ein bißchen brauchen bis man mit ihnen vernünftig reden kann.
Hallo, was meinst du mit BOD? Das Delay bringt nix. Direkt nach dem Einschalten vom STK 500 ist das Display tot, nur die Hintergrundbeleuchtung funktioniert. Nach dem 1. Reset geht es und ab dem 2. Reset schaltet es dann zwischen der Double Height und der richtigen Anzeige hin und her. Immer noch keine Ahnung, woran das liegen koennte.
Hi
>Immer noch keine Ahnung, woran das liegen koennte.
Kannst du kein Datenblatt lesen? Siehe S.41.
Mf Spess
Ein Datenblatt ist immer so lang und die beiliegende Broschuere hat halt nur 3 Seiten g Jetzt hab ichs jedenfalls geschafft. Da muss man zwei komische Befehle noch vorweg senden, damit das im 4bit Modus funktioniert. Warum weiss ich nicht, die ergeben fuer mich noch keinen Sinn. Anbei jedenfalls einwandfreier Code fuer AVR Controller, sicher aber noch optimierbar.
Hi >Ein Datenblatt ist immer so lang und die beiliegende Broschuere hat halt >nur 3 Seiten g Die enthält aber auch nur die 8-Bit-Initialisierungen. >Da muss man zwei komische Befehle noch vorweg senden, damit das im 4bit >Modus funktioniert. Warum weiss ich nicht, die ergeben fuer mich noch >keinen Sinn. Weil sich das Display nach dem Start im 8-Bit-Mode befindet und erst in den 4-Bit-Mode versetzt werden muss. MfG Spess
Hallo Spess, habe mich nicht nur an der Broschuere orientiert, hier auf der Website sind die Fehler z.B. auch im Code drin.
Hi >habe mich nicht nur an der Broschuere orientiert, hier auf der Website >sind die Fehler z.B. auch im Code drin. >http://www.avrprojects.net/index.php?option=com_co... Du scheinst etwas zu Internetgläubig zu sein. Primäre Informationsquelle ist das Datenblatt des Displays und des eingesetzten Controllers. Da steht alles drin, was man braucht. Man muss halt nur lesen (können). Im Fall der Dog-Displays gibt es sogar Codebeispiele des Vertreibers: http://www.lcd-module.de/deu/disk/development%20service/DOG%20Text%20ST7036/INIT_DOG_7036.txt http://www.lcd-module.de/deu/disk/development%20service/DOG%20Text%20ST7036/INIT_DOG_7036_AVRGCC.c Alles andere ist erst mal mit einer gewissen Skepsis zu betrachten. MfG Spess
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.