Forum: Mikrocontroller und Digitale Elektronik AVR Studio 6 und Datei


von Achim S. (achims)


Lesenswert?

Hallo Gemeinde
ich versuche mit den Datein von Peter ein Display mit 4x20 in Betrieb zu 
nehmen. Als Board nutze ich das RN-Control M32 mit ATmega 32 und 16 MHz. 
Im Netz wird angegeben das ich die Datein lcd.c und lcd.d anpassen muss 
(hab ich gemacht) und dann an Hnad eines kleine Programmes testen kann. 
soweit so gut. Habe dem Studio 6 die Datein bekannt gegeben. lcd.c wird 
erkannt und bekomme dann die folgende Meldung:

Error  1  lcd.h: No such file or directory  E:\AAA 
Technik\Roboter\RN-Controll\RNC 
Programme\RNC_Test_LCD\RNC_Test_LCD\lcd.c  28  17  RNC_Test_LCD

Nach dieser Meldung wird das lcd.h nicht gefunden. Es ist vorhanden und 
steht neben dem lcd.c.
Was mach ich falsch?
achim

von Ingo W. (Gast)


Lesenswert?

Achim Seeger schrieb:

> Error  1  lcd.h: No such file or directory  E:\AAA
> Technik\Roboter\RN-Controll\RNC Programme\RNC_Test_LCD\RNC_Test_LCD

Leerzeichen im Pfad?

von Achim S. (achims)


Lesenswert?

Hatte die Einstellung ein paar mal gemacht und auf Leerzeichen geachtet.
Die lcd.h wird durch lcd.c aufgerufen. muss ich dabei was beachten?

von Hugo (Gast)


Lesenswert?

Zeig mal die lcd.c. Ansonsten könnte der Pfad schlicht zu lang sein. 
Hatte ich auch schon mal.

von Achim S. (achims)


Lesenswert?

Sind nur ein paar Zeilen.
Nennt sich im Netz Testprogramm:

#include <stdlib.h>
#include <avr/io.h>
#include <lcd.c>
1
int main(void)
2
{
3
  
4
  lcd_init(LCD_DISP_ON_CURSOR_BLINK);
5
  lcd_clrscr();
6
  lcd_puts("test");
7
  
8
  return 0;
9
}

Die Datei von Peter ist weit aus länger.
In der steht ausch nur #include <lcd.d>
achim

von Achim S. (achims)


Lesenswert?

Nach deiner Anregung habe ich die Datein wo anders abgespeichert. weit 
aus weniger Verzeichnisse. immer noch der gleich Fehler

von Rene H. (Gast)


Lesenswert?

Achim Seeger schrieb:
> #include <lcd.c>

ich kann mir nicht vorstellen, dass Peter will das man ein .c Datei 
inkludiert.

Grüsse,
René

von Rene H. (Gast)


Lesenswert?

#include <lcd.h>

und lcd.c kompiliert dazu linken. Dann klappt das sicher auch.

Grüsse,
René

von Achim S. (achims)


Lesenswert?

Habe mal die Teile von Peter seiner Datei kopiert

Title  :   HD44780U LCD library
 Author:    Peter Fleury <pfleury@gmx.ch>  http://jump.to/fleury

und

#include <inttypes.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <lcd.h>

so steht es in seinem Programm. Die Zeile mit dem Aufruf ist die 28. Es 
ist die Datei lcd.c. Dort wird doch doe lcd.d aufgerufen. Habe nichts 
daran verändert. Muss ich jetzt das Testprogramm aufrufen oder das von 
Peter.
Wie meinst du das linken?
achim

von Rene H. (Gast)


Lesenswert?

Hi Achim,

ich kann Dir nur begrenzt folgen, da Du von einem Testprogram sprichst 
welches ein lcd.c inkludiert und von Peters libraries.
Da Dir der Begriff "linken" fremd zu scheinen mag, wäre es evtl. 
sinnvoll, wenn Du alles angibst, dass man nachvollziehen kann, was Du 
genau machst.

Peters Vorgabe ist bestimmt nicht, dass man ein .c Datei includet (auch 
wenn man das natürlich machen kann).

Achim Seeger schrieb:
> Die Zeile mit dem Aufruf ist die 28.

Das kann auch die 42. sein, woher soll ich wissen was auf der 28. Zeile 
steht? Soll ich in seinem Code nachsehen? Habe ich getan. Eine .d Datei 
finde ich dennoch nicht.

Achim Seeger schrieb:
> Dort wird doch doe lcd.d

Was soll das sein .d?
Wenn ich seine Library ansehe sehe ich bloss eine .c und .h Datei plus 
test_lcd.c.
Ich denke wenn ich ihn morgen im Büro frage, was er da für 'ne komische 
.d Datei hat wird er mich angucken wie 'nen Auto.

Klär doch bitte genau auf, was Du machst.

Grüsse,
René

von Achim S. (achims)


Lesenswert?

Hallo Rene
danke für deine Antwort. Bin auch auf Arbeit. Stelle heute Abend die 
Sachen rein, die ich meine. Das mit dem linken ist mir klar. Das mache 
ich auch mit anderen Programmen. Das klappt sehr gut. Im Ori steht aber 
ein lcd.c Datei. Es kann natürlich auch ein Schreibfehler sein. Eine 
Idee habe ich noch, kann es aber heute abend überprüfen. Es könnte ein 
doppelter Hehler sein, ein Schreibfehler und nachfolgend ein doppelter 
Aufruf. Sehe es heute abend
achim

von Achim S. (achims)


Angehängte Dateien:

Lesenswert?

Hallo
so, die lcd.h Datei habe ich angehängt. Das Programm besteht nur aus ein 
paar Zeilen. Die daten innerhalb der lcd.h Datei habe ich entsprechend 
geändert. Das Programm:
1
#include <stdlib.h>
2
#include <avr/io.h>
3
#include <lcd.h>
4
5
int main(void)
6
{  
7
  lcd_init(LCD_DISP_ON_CURSOR_BLINK);
8
  lcd_clrscr();
9
  lcd_puts("test");  
10
  return 0;
11
}

In der Zeile #include <lcd.h> wird die Datei lcd.h aufgerufen. Im 
solution Explorer habe ich das Verzeicnnis angegeben, wo es steht.
Habe das gleich mit einem anderen Programm gemacht und es geht 
Problemlos
achim

von Achim S. (achims)


Lesenswert?

Habe es gefunden. Das wichtigste ist, es müssen beide Datein im gleichen 
Verzeichniss sein. Dann gibs noch ein Fehler im Programm und 
Einstellungen. Das wichtigste ist, ich habe Buchstaben und anderes auf 
dem Display.
achim

von Rene H. (Gast)


Lesenswert?

Hallo Achim,

Super. Sorry, das ich erst jetzt reinschaue. :-)

Dann war die ominöse .d Datei bloss ein Tippfehler, vermute ich mal?

Grüsse,
René

von Achim S. (achims)


Lesenswert?

Es muss richtig lauten lcd.h, dabei brauche ich aber auch die lcd.c und 
diese muss im gleichen verzeichniss stehen. Es geht, das ist wichtig.
Jetz knobel ich an den Befehlen für das Display, z.B. wie gebe ich in 
position was aus, so mit puts. Oder was anderes einfaches: ziehe strich 
von pos 1 bis pos 6 waagerecht oder senkrecht. Wie gebe ich eine 
Variable Zahl aus oder messwert. Im Netz steht viel drin, doch 
meistem¨ns nicht was ich such, so eine einleuchtende Erklärung
achim

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.