Ich versuche jetzt schon seit einigen Stunden ein eigenes Zeichen auf einem standart 27*4 LCD darzustellen. Leider sehe ich mittlerweile den Wald vor lauter Bäumen nicht mehr. Mein Quelltext habe ich mal angehangen. Ich benutze einen Mega16 mit 16MHz. Ansonsten funktioniert das Display ohne Fehler, außer das mein eigenes Zeichen nur Unsinn ist, desshalb denke ich auch nicht das es ein Timing Problem ist. Meine Pin Belegung: E1 E2 RS RW D3 D2 D1 D0 Ich muss doch nur den CGRAM Adresse setzen. Also Ein Kommando setzen mit den Daten 0b01nnnzzz n=Nummer des Zeichen(0...7) z=Zeilennummer(0...7) Und anschließend ein Zeichen senden(so als würde ich einen Buchstaben aufs Display schreiben wollen) mit meinen Daten. Ich will nur die linke Hälfte des Displays "ausmalen", also sende ich 8mal 00011000. Ich sehe leider keinen Fehler. Hat einer von euch eine funktionierendes C-File für das Schreiben eines eigenen Zeichens. Ich habe bisher nur ASM gefunden und die sahen meiner Meinung nach meiner Vorgehensweise sehr ähnlich.
Danke erstmal für die Seite. Leider geht es immer noch nicht. Ich hab mir die Datenblätter angeschaut und die machen es eigentlich so wie ich, aber irgendwie will es nicht gehen. Ich habe jetzt eine 8MHz Taktfrequenz genommen->Keine Veränderung. Ich habe alle 128 CGRAM Bytes mit 0b00011000 beschrieben mit dem Ergebniss: Beim 0.Zeichen stimmen alle Zeilen bis auf die letzte. Alle anderen Zeichen sind Quatsch. Kann das sein das der RAM defekt ist (es ist ein LCD von Pollin)?
@Matze Du musst die Zeichenadresse * 8 fürs CGRAM setzen. Grund: ein Zeichen besteht aus 8 Zeilen. Zeichen 0 CGRAM Adressen 0-7 Zeichen 1 CGRAM Adressen 8-15 . . . Und es reicht wenn du die Start-Zeichenadresse einmal sendest. Dein Display zählt beim senden der Bytes dann automatisch hoch.
Zum ersten Teil deiner Antwort: Ja danke aber das habe ich ja gemacht. Ich habe alle 64 Bytes (8Zeichen*8Zeilen) mit den selben Daten beschrieben, bekomme aber nur Müll wenn ich es auslese. Zum zweiten Teil: Ich habe es mal versucht die CGRAM Adresse nur einmal zu setzen und die Daten fortlaufend zu schreiben (Der CGRAM wird ja automatisch incrementiert) und jetzt geht es auf einmal. Danke dir für diesen Tipp. Eigentlich hätte es zwar vorher auch gehen müssen, aber egal, hauptsache es geht jetzt.
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.