Gast
#2875047
Hallo Leute, ich brauche noch mal eure Hilfe. Dieses Mal geht es um ein LCD Display, das ich verwende. Ich habe mich an folgender Seite (inklusive Pinbelegung) orientiert: http://www.jennaron.com.au/avr/lcd.html Da der C Code schon etwas älter ist, habe ich ihn auf die neue WINAVR Version angepasst (sbi(), cbi() etc. umgeschrieben). Auch habe ich die eigene Delay Funktion durch _delay_ms() ersetzt. Meinen kompletten Ordner findet ihr im Anhang. Den originalen Code habe ich auskommentiert in den Files drinnen stehen, damit man besser verfolgen kann, was ich wie geändert habe. Folgende Situation/Problem: Möchte ich nun meinen uC flashen und Zeichen auf dem Display ausgeben, funktioniert das nur manchmal. Das heißt, dass manchmal gar nichts passiert. Manchmal werden aber auch nur schwarze Balken angezeigt. Meistens (ca. 70% der Fälle) gibt das LCD den richtigen Wert aus. Ich frage mich jetzt, woran das liegen könnte bzw. ob ich irgendwelche Timings/Wartezeiten nicht eingehalten habe. Ich verwende einen Atmega8 mit internem RC Osc. 1MHz und die Taktfrequenz ist auch auf 1MHz in den Projekteinstellungen festgelegt. Wäre nett, wenn jemand eine Idee dazu hätte. Die main Funktion ist in LCD1.c definiert, die Funktionen zur Initialisierung etc. sind in lcd16.c definiert. Danke und Gruß