Hallo Zusammen Ich habe folgendes Problem ich habe ein LCD (HD44780) 1x16 Ans STK500 Gehangen Und wollte mir mal ein "Hallo" aufs Display Zaubern Doch leider schreibt er einfach nix :( Ich sehe Zwar das das display initialisiert wird, da die schwarzen Balken verschwinden aber er schreibt einfach nichts :( Ich bin echt am verzweifeln, Die Hardware schließe ich mal aus, das ich es mit einem Anderen Display versucht habe, mit dem selben ergebnis...ich denke ehr das die Software ne macke hat deshalb hab ich sie hier ma gepostet Den Kontrast habe ich auch schon eigestellt mit poti da kann ich drehen wie ich will,man sieht zwar das man am kontrast dreht aber mehr och nich kein "HALLO" zu sehen. Ich würde mich freuen, wenn mal jemand über den Code fliegt und mir evtl. mal was sagen könnte, ich weis echt nich mehr weiter :( Ich verwende einen Atmega16 mit 1Mhz internal ozzilator !!! Vielen dank schon ma im vorraus
Ich habe nun mal Das Programm umgeschrieben, so das er mir den blinkenden Cursor anzeigen soll...was soll ich sagen es ist nix zu sehen :( Man Sieht wie das display initialisiert und der schwarze balken verschwindet aber mehr och nich es ist zum heulen ich weis echt nich mehr was ich machen soll *** H I L F E ***
Hallo Rene, Dein Programm kann nicht funktionieren: 1. der Stack Pointer liegt ausserhalb des RAM (1k) - mach es mal so: ldi temp, LOW(RAMEND) ; STACK initialisieren out SPL, temp ; Low ldi temp, HIGH(RAMEND) ; out SPH, temp ; High 2. Die fehlt eine Vektortabelle für den Timer-Interrupt. Gruss Otto
So ich hab es so gemacht wie du geschrieben hast leider ohne erfolg :( Die Vektortabelle benötige ich doch nur wenn ich auch einen interrupt verwende und das tue ich ja nicht den ich frage das TIFR blos ab um zu wissen wannd er timer übergelaufen ist
Hallo Rene, ja, mit der Vektortabelle hast Du recht - ich hatte übersehen, dass Du kein "sei" im Code hast - allerdings wenn ich mir den Namen Deines Programmes ansehe, wirdt Du die Vektortabelle sowieso brauchen..... Die Abfrage des "Busy-Flag" funktioniert erst ab einem bestimmten Punkt der Initialisierung - hast Du dies aus einem funktionierenden Programm ? Versuche es mal so, wie im Tutorium. Gruss Otto
Ja ich hatte vor 2 jahren ein Ähnliches programm mit dem selben display am laufen erst nach dem das Display initialieseirt ist, kann man das Bussyflag abfragen und ja du hast recht ich werde sie später brauchen :D Allerdings scheitert did ja jetzt schon an solch einer simplen "scheiße" vor allem weil das ja nicht das erstme is das ich damit rumexperimentiere ich wette, das es mal wieder was ganz simples is was mir dir nächte versaut :(
Hallo Rene, Du solltest auf funktionierenden Code aufbauen, sonst verrinnt die Zeit und Du kommst nicht weiter - wenn das LCD läuft, kannst Du auch besser debuggen - nimm das Beispiel aus dem Tuturium..... Gruss Otto
Ich habe noch auf meinem Ganz ganz alten laptop nen Code gefunden der damals mit diesem Display funktioniert hat ich probiere es erstma damit Ich danke dir trotzdem für deine Bemühungen fals ich den fehler noch in diesem leben finde werden ich ma posten was der fehler war
So ich habe den alten code probiert und siehe da es funtioniert...allerdings war das ein At2313 und nich ein mega16 jetzt beginnt das große suchen nach dem unterschied im code :(
Läubi Mail@laeubi.de wrote:
> Eventuell einfach mal das JTAG Interface mittels fuses ausschalten ;)
Danke Danke Danke jetzt funzt did !!! das ein kleines Häckchen so viel
ausmachen kann Meine schlaflosen nächte haben "vorerst" ein ende :D
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.