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
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?
Hatte die Einstellung ein paar mal gemacht und auf Leerzeichen geachtet. Die lcd.h wird durch lcd.c aufgerufen. muss ich dabei was beachten?
Zeig mal die lcd.c. Ansonsten könnte der Pfad schlicht zu lang sein. Hatte ich auch schon mal.
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
Nach deiner Anregung habe ich die Datein wo anders abgespeichert. weit aus weniger Verzeichnisse. immer noch der gleich Fehler
Achim Seeger schrieb: > #include <lcd.c> ich kann mir nicht vorstellen, dass Peter will das man ein .c Datei inkludiert. Grüsse, René
#include <lcd.h> und lcd.c kompiliert dazu linken. Dann klappt das sicher auch. Grüsse, René
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
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é
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
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
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
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é
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.