Hi Leute,
ich mache gerade das AVR-GCC-Tutorial und da bin ich zur Zeit bei der
LCD-Ansteuerung.
Ich habe einfach die drei Quellcodes rauskopiert. Einmal die
lcd-routines.h, die lcd-routines.c und dann noch die eigentliche
Projektdatei, in dem Fall Beispiel 1.
Compilieren konnte ich alles ohne Probleme. Leider zeigt es auf meinem
LCD nur die 2x16 Balken an...jetzt frage ich mich natürlich wo mein
Fehler liegt.
Verbindungen habe ich alle überprüft und müssten alle passen.
Ich hab allerdings an den angeschlossenen Pins noch LEDs hängen,
sozusagen parallel zum LCD. Kann da der Fehler liegen? Wollte diese Pins
noch anderweitig benutzen, wenn kein LCD dranhängt. Soll so eine Art
Übungsboard sein.
Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige
Fehlerquellen?
Ich halte es durchaus für möglich dass die LEDs den Pegel verbeulen, so
dass das LCD nicht mehr richtig angesteuert wird. Kann man aber erst
anhand deines Schaltplans abschätzen -> zeigen.
Nimm halt mal einfach die LEDs weg.
Ralf
Die LEDs sind direkt am Pin über einen 220Ohm Widerstand gegen Masse
geschalten.
Das Problem ist, das ganze ist schon aufm Board gelötet. Das hatte ich
natürlich nicht vorher bedacht.
Aber eigentlich müsste es ja reichen, wenn ich die LEDs von der Masse
trenne, oder? Das kann ich ja leicht mit einem Jumper dann zu- und
wegschalten, je nachdem ob das LCD oder die LEDs benötigt werden.
654gfd schrieb:> Abc123 schrieb:>> Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige>> Fehlerquellen?>> Falsche Einstellung der Kontrastspannung?
Nein, da hab ich am Poti schon hin und hergedreht, es ist schon so
eingestellt, dass man die Kästchen sieht. Aber man sieht eben keinen
Text.
>Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige>Fehlerquellen?
Ja, falsch angeschlossen obwohl man denkt es ist richtig.
Also Foto machen und zeigen, Programm zeigen.
holger schrieb:>>Falls es das nicht sein kann, gibt es sonst noch mögliche/häufige>>Fehlerquellen?>> Ja, falsch angeschlossen obwohl man denkt es ist richtig.> Also Foto machen und zeigen, Programm zeigen.
Ich überprüfe es nochmal und mache sonst ein Foto.
Programm sieht man im Tutorial, wie gesagt, habe das nur rauskopiert und
den Takt im Header-File angepasst.
Kein Name schrieb:> Nur teilweise initialisiert? Bei der Abfrage des Busy-Flags kommt> D7> nicht gegen die LED an?
Ich habe die LEDs jetzt mal "weggeschalten", das dürfte also nicht das
Problem sein.
Was meinst du mit nur teilweise initialisiert?
>Was meinst du mit nur teilweise initialisiert?
Busy-Abfrage klappt nicht und du schickst schon den nächsten Befehl,
während das Display noch die Umschaltung auf 2 Zeilen verarbeitet.
Ich glaube, ich habe den Fehler entdeckt. War wohl doch ein
Verdrahtungsfehler. der PD5 ist nicht mit dem Enable verbunden, hab da
versehentlich das Streifenraster aufgebohrt, wird schnell mit ner Brücke
behoben und nochmal getestet.
Mike schrieb:> Abc123 schrieb:>> Ich hab allerdings an den angeschlossenen Pins noch LEDs hängen,>> Mit Vorwiderstand?
Ja natürlich mit. 220 Ohm, wie etwas weiter oben beschrieben
Abc123 schrieb:> Ich habe einfach die drei Quellcodes rauskopiert.
Ja, eben.
Ich kann dir nur empfehlen, zu allererst mal die Doku zu dem LCD bzw.
zum Controller in dem LCD zu lesen und zu verstehen. Es ist für ein
simples zweizeiliges Alpha-LCD ja wirklich nicht schwer.
Als nächstes solltest du dir deine verwendeten Portpins richtig
aufsetzen und dann die mal eben blind kopierte Quelle lesen und
verstehen lernen.
Es erfüllt unsereinen immer mit Ärger, wenn Leute glauben, mit blindem
Kopieren unter Auslassung des Verstehens ihren Weg durch's Leben gehen
zu können. Wenn sie dann auf die Nase fallen, wird zu allererst nach
Beistand geschrieen und nicht im Traume daran gedacht, daß es
schlichtweg nur die eigene Unwissenheit ist, welche man durch Nachlesen
hätte beseitigen können.
W.S.
W.S. schrieb:> Es erfüllt unsereinen immer mit Ärger, wenn Leute glauben, mit blindem> Kopieren unter Auslassung des Verstehens ihren Weg durch's Leben gehen> zu können. Wenn sie dann auf die Nase fallen, wird zu allererst nach> Beistand geschrieen und nicht im Traume daran gedacht, daß es> schlichtweg nur die eigene Unwissenheit ist, welche man durch Nachlesen> hätte beseitigen können.
Das ist aber ne böse Unterstellung.
Ich mach das Tutorial um etwas zu lernen. Und ich mache das gerne so,
dass ich mir die Beispiel anschaue und dazu gehört eben, sich das Teil
erstmal auf den Chip zu ziehen und auszuführen und zu schauen was
passiert. Das Verstehen folgt anschließend. Dazu möchte ich persönlich
aber erstmal das Ergebnis sehen.
Kann man sich drüber streiten, manche lernen so und manche lernen
anders.
Aber nun funktioniert das, lag also zum Glück an einem leicht behebbaren
Problem (der fehlenden Verbindung Enable - PD5). Und jetzt kann ich auch
anfangen, den Quellcode zu verstehen ;)
@W.S.:
Was ich noch hinzufügen möchte:
Ich habe natürlich schon vorher nach Lösungen selbstständig gesucht und
nicht gleich im Forum gefragt. Leider ist mir eben beim ersten
kontrollieren der Verbindungen die Unterbrechung zwischen PD5 und Enable
nicht aufgefallen.