Hallo, ich habe mir ein DevelopmentKit gekauft (easyAVR5 von Micro-e), mit dem ich ein kleines Problem habe. beim Kit ist ein 2x16-LCD-Display dabei, das ich mit der Fleury-LCD-Bibliothek betreiben wollte. Das Display hat nie was angezeigt, die Testprojekte funktionierten einwandfrei. leider waren keine Quellcodes dabei, sondern nur die hex-files. Irgendwann hab ich ein altes LCD-Display rausgeholt, das selbst an den Port des LCD-Displays gehängt und da ging auch nix...dann mal manuell an einen Port gehängt und es ging. Als ich dann die PINS einzeln wieder zurückgesteckt habe ist mir aufgefallen, dass die R/W-Leitung das Problem darstellt. Auf dem Board ist die R/W-Leitung auf Masse gezogen, was anscheinend mit der Bibliothek nicht geht. Hat jemand das Problem schon in einer eigenen Version der Bibliothek behoben? so wie ich das seh liegt das daran, dass in der Fleury Bibliothek das Busy-bit abgefragt wird, was bei mir aber nicht geht, da ich ja nicht lesen kann. danke für antworten Stefan
@ Stefan Schwaighofer (Firma FH Regensburg) (aries1984) >was anscheinend mit der Bibliothek nicht geht. Hat jemand das Problem >schon in einer eigenen Version der Bibliothek behoben? Ja, im Tutorial. AVR-GCC-Tutorial AVR-Tutorial: LCD MFG Falk
Das hab ich auch schon gesehen. Ich wollte aber gerne eine C-Bibliothek benutzen. Das im GCC-Tutorial ist leider nicht ganz so komfortabel wie die fleury-bibliothek, da man hier die einzelenen Daten-pins nicht selbst festlegen kann. Auf dem board ist der spaß leider auf A4-A7 angeschlossen. Die Bibliothek aus dem GCC-tutorial geht also leider nicht. Wollte auch nur fragen, ob jemand selbst schon sowas gelöst / gemacht hat..ansonsten schreib ich selbst was...aber mann muss ja das Rad nicht neu erfinden ;) werd dann wohl die aus dem GCC-tutorial umschreiben, da ich ja einfach nur das high-nibble von port A nutzen muss, anstatt das low-nibble
Man kann die Fleury Bibliothek schon umschreiben. Die Abfrage des R/W Pins ist nur an einer Stelle kritisch. Und die befindet sich in der Funktion lcd_waitbusy. Dort den Code durch eine fixe Wartezeit ersetzen und eine 0 returnen. Danach geht nicht mehr alles mit der Fleury Lib, alles was über rücklesen vom LCD geht ist klarerweise stillgelegt, aber das meiste müsste gehen.
Alles klar...was würdest du mir als wartezeit empfehlen? gibt es da nen faustwert? das busyflag ist ja nur aktiv, nachdem daten bzw. ein kommando gesendet worden ist. im gcc-tutorial wird jeweils 42µs gewartet. ich denke mal, dass dies dann ein guter wert ist? dass ich dann nicht lesen kann ist mir klar :)
@ Stefan Schwaighofer (Firma FH Regensburg) (aries1984) >kommando gesendet worden ist. im gcc-tutorial wird jeweils 42µs >gewartet. ich denke mal, dass dies dann ein guter wert ist? Das ist der Wert, der in den meisten Datenblättern rumgeistert. MFG Falk
Stefan Schwaighofer wrote: > im gcc-tutorial wird jeweils 42µs > gewartet. ich denke mal, dass dies dann ein guter wert ist? Nein. Es gibt 2 Funktionen, die länger dauern (1,6ms). Hier ein Code, der es richtig macht: http://www.mikrocontroller.net/attachment/30300/lcd_drv.zip Peter
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.