Forum: Compiler & IDEs LCD von Peter Fleury


von Sebastian Schabbach (Gast)


Angehängte Dateien:

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

von Dirk (Gast)


Lesenswert?

Hallo,

dein Auge ist zu traege dafuer. Du solltest die Funktion lcd_clrscr();
aus der Endlosschleife nehmen.

Mfg
Dirk

von Sebastian Schabbach (Gast)


Lesenswert?

Naja auch das bringt nix.... es wird kein text angezeigt...

von Sebastian (Gast)


Lesenswert?

An welchem Port hängt das LCD??
Welchen AVR verwendest du??

von Sebastian Schabbach (Gast)


Angehängte Dateien:

Lesenswert?

Hallo....


Bei dem Port bin ich mir nicht so ganz sicher ich bin da noch
Anfänger... Ich lege aber den Schaltplan bei... Ich denke aber es ist
Port C....

Ich verwende den Atmel at90s8535 und winavr.


Gruß Sebastian.

von Werner (Gast)


Lesenswert?

Du musst in der lcd.h oder in der lcd.c (weiss nicht genau welche) den
Port, das Display usw. definieren. Vielleicht hängst Du die Datei auch
einfach mal an.

Werner

von Sebastian Schabbach (Gast)


Angehängte Dateien:

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?

von Werner (Gast)


Lesenswert?

Ja, hab ich, mehrfach. Nach den notwendigen Anpassarbeiten hab ich
eigentlich nie Probleme gehabt. Das lief dann meist auf Anhieb.

von Sebastian Schabbach (Gast)


Angehängte Dateien:

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.

von Sebastian Schabbach (Gast)


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?

von Mike (Gast)


Lesenswert?

Aus dem Datenblatt.

Dort bekommst du auch die allgemeine Funktionsweise des Displays
beschrieben, dieses Hintergrundwissen kann nie schaden.

von Sebastian Schabbach (Gast)


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

von Sascha (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal meine. Ist auch ein 4 * 20.

Mfg sascha

von Sebastian Schabbach (Gast)


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

von Sascha (Gast)


Lesenswert?

Na siehste....

Mfg Sascha

von pebisoft (Gast)


Lesenswert?

hallo, ich kriege das lcd-display am portc nicht zum laufen. wer kann
ein beispiel herstellen. ich hänge schon mehrere tage bei.
mfg pebisoft

von Hubert (Gast)


Lesenswert?

Welcher Kontroller? Wie angeschaltet?

von mthomas (Gast)


Lesenswert?

PortC. Verschleierte Glaskugel: ATmega16/32? JTAG-Interface aktiv?

von pebisoft (Gast)


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

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.