LCD von Peter Fleury

Gast #179489
Lesenswert?

Hallo,

ich habe das Makefile der lib so modifiziert, dass er nur noch das .o
erzeugt und das habe ich zu meiner Anwendung gelinkt (ich habe vor, es
in eine lib zu packen aber das mache ich später weil ich noch nicht
genau weiss wie avr-ar und avr-ranlib funktionieren).

Allerdings verstehe ich die Beispielanwendung, die in dem Archiv ist
nicht. Ich habe die Methoden lcd_init vor der endlosschleife und
lcd_clrscr und lcd_puts in der endlosschleife aufgerufen, es wird aber
nix ausgegeben. Ich hänge es dem Anhang an. In der Beispielanwendung
gibt es noch eine Funktion die irgendwie prüft ob ne Taste gedrückt
wird... was ist da der zusammenhang zum Display? Gar keiner? Achja und
es gibt da 2 Variablen die er nicht kennt (DDRD und PORTD). Kann mir da
jemand helfen?


Gruß Sebastian
Angehängte Dateien:
Gast #179495
Lesenswert?

hmmm ich denke du meinst dielcd.h.... Ich glaube der versucht mein
Display über PortA anzusprechen. Aber da muss ich noch viel mehr ändern
oder?

Naja muss ich heute abend von zu hause mal ausprobieren. Hast du die
Lib auch mal genutzt?
Angehängte Dateien:
Gast #179497
Lesenswert?

Hmmm,


also ich habe nochmal eine Frage dazu.... Die Anpassungen kriege ich
wahrscheinlich hin aber hast du dir mal das Beispielprogramm dazu
angeschaut? Der hat da irgendeine Funktion implementiert, die verstehe
ich nicht ganz. Ich nehme mal an, er wartet auf einen Tastendruck an
den Schaltern ist das richtig?

auf  jedenfall definiert er bevor er irgendwas macht 3
Variablen/defines.. Kannst du mir sagen, wo er die definiert? Wenn ich
sein Sourcefile (das lcdtest.c) kompiliere, findet er die bezeichner
nicht. Ich weiss auch nicht wo das herkommt...

Gruß Sebastian.
Angehängte Dateien:
Gast #179498
Lesenswert?

Hmmm ich habe nochmal ein paar Fragen zu den Einstellungen:

#define LCD_LINES           4     /**< number of visible lines of the
display */
#define LCD_DISP_LENGTH    20     /**< visibles characters per line of
the display */
#define LCD_LINE_LENGTH  0x40     /**< internal line length of the
display    */
#define LCD_START_LINE1  0x00     /**< DDRAM address of first char of
line 1 */
#define LCD_START_LINE2  0x40     /**< DDRAM address of first char of
line 2 */
#define LCD_START_LINE3  0x14     /**< DDRAM address of first char of
line 3 */
#define LCD_START_LINE4  0x54     /**< DDRAM address of first char of
line 4 */


Soweit, sogut, ich habe nun eingestellt das mein Display 4 Zeilen a 20
Character hat. Wofür sind denn diese DDRAM addressen gut? Und was muss
ich da angeben? Ich habe dadrunter nun noch angegeben, dass mein
Display über PORTC läuft aber mit dem Rest kann ich nix anfangen. Wo
bekomme ich denn die Informationen her?
Gast #179500
Lesenswert?

Hmmmm,


ich finde im Internet kein geeignetes Datenblatt wo sowas drinsteht...
Habt ihr vielleicht mal einen Link? Oder hat jemand ein 4x 20 char
display, dann kann er mir doch einfach mal seinen header überlassen?

Ich habe zwar ein Datenblatt gefunden, aber da steig ich nicht durch...
Das ist auch eher ein Handbuch... Wo muss ich denn da genau gucken?


Gruß Sebastian
Gast #179502
Lesenswert?

Hallo,


danke für den Header ! Die Einstellungen sind optimal, das Display
läuft ohne Probleme! Hatte zwar kurzzeitig nen kleines LED Flackern,
weil mein Display an Port C und nicht an Port B angeschlossen ist aber
nun geht es! Echt vielen Dank!



Gruß Sebastian
Gast #179507
Lesenswert?

habe die lösung gefunden. in der neuerstellten make von mir wird unter
src:... nicht die lcd.c eingelesen, die wird gebraucht für die
hauptdatei. peter fleury hatte die in seiner datei reingeschrieben und
das programm mfile liest diese ja nicht selber ein.
die einstellungen sind sehr einfach. nur die ports ändern, den
display-type und die xtal-frequenz.jetzt kann ich daten vom adc-port
einlesen und sichtbar machen.
mfg pebisoft

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren