Forum: Mikrocontroller und Digitale Elektronik LCD-Library von Fleury & R/W auf Masse


von Stefan S. (Firma: FH Regensburg) (aries1984)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@  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

von Stefan S. (Firma: FH Regensburg) (aries1984)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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.

von Stefan S. (Firma: FH Regensburg) (aries1984)


Lesenswert?

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 :)

von Falk B. (falk)


Lesenswert?

@ 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

von Peter D. (peda)


Lesenswert?

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
Noch kein Account? Hier anmelden.