Guten Abend, Ich habe mal eine Frage zu dem Tutorial zu dem Abschnitt 14 LCD-Ansteuerung Das LCD und sein Controller Habe eine header datei lcd-routines.h erstellt und in das projekt eingebunden. aber was soll ich mit lcs-routines.c machen? das erkennt der kompiler nicht und ich weiss auch nicht was der comment "lcd-routines.c in SRC = ... Zeile anhängen" heissen soll kann mir das jmd sagen? >// >// Anpassungen im makefile: >// ATMega8 => MCU=atmega8 im makefile einstellen >// lcd-routines.c in SRC = ... Zeile anhängen >//
Marco Müeller wrote: > aber was soll ich mit lcs-routines.c machen? das erkennt der kompiler > nicht und ich weiss auch nicht was der comment "lcd-routines.c in SRC = > ... Zeile anhängen" > > heissen soll kann mir das jmd sagen? Du musst die lcd-routines.c dem Compiler bekanntmachen. Entweder im Makefile zu den C-Sourcen hinzufügen oder im AVRStudio (falls Du mit selbigem arbeitest) im Projektbaum durch Rechtsklick auf den Ordner Source Files und dann "add existing source file(s)" auswählen...
AVR Studio macht immer folgendes unter "Source Files" daraus: lcd-routines.c.h was heisst denn diese zeile: // lcd-routines.c in SRC = ... Zeile anhängen danke
Hallo, ich beschäftige mich auch gerade mit diesem tutorial, ich arbeite mit avr studio 6.0. und möchte auch die lcd-routunes.c einbinden. ich kann aber den Ordner Source files nicht finden. Bin ich hier überhaupt auf dem richtigen Pfad? Button Projekt--->GccAplikation Properties(alt+f7)--->Toolchain hier kommt jetzt compiler einstellungen usw... Johannes M. schrieb: > Du musst die lcd-routines.c dem Compiler bekanntmachen. Entweder im > Makefile zu den C-Sourcen hinzufügen oder im AVRStudio (falls Du mit > selbigem arbeitest) im Projektbaum durch Rechtsklick auf den Ordner > Source Files und dann "add existing source file(s)" auswählen... Heisst das hier im AVR studio 6.0 anders?
Huber M. schrieb: > Heisst das hier im AVR studio 6.0 anders? Johannes M. redet (laaaaaang laaaang ist's her) vom AVR Studio. AVR Studios gibt es ....3.xx, 4.xx bis 4.19 Bis dahin hiess die Entwicklungsumgebung AVR Studio. Das was du benutzt heisst Atmel Studio, dies gibt es in den Versionen 5.x, 6.x, 7.x Diese Studios sind komplett anders aufgebaut, also kannst du dich nicht (als Anfänger) daran orientieren was über AVR Studio 4.xx gesagt wird.
Huber M. schrieb: > Heisst das hier im AVR studio 6.0 anders? Wenn du "nur" einen 8-Bit AVR Controller programmieren willst tust du dir als Anfänger wesentlich leichter mit AVR Studio 4.18 oder 4.19 da übersichtlicher und schneller. Ein Nachteil: neuere Programmieradapter/Debugger werden nicht unterstützt (z.B. Atmel ICE).
Für neue Programmieradapter empfehle ich avrdude + AVR8 Burn-O-Mat. Wird genau so bedient, wie das im AVR Studio eingebaute Tool. So kann man mit dem alten AVR Studio trotz neuem Programmieradapter weiter arbeiten, was ich sehr empfehle.
Hallo, so jetzt habe ich mir das AVR Studio 4.18 zugelegt. und ich bin begeistert :-). Und ich will auch dieses tutorial machen. [[https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung]] habe mir dazu auch die zwei Dateien gespeichert. lcd-routines.c , lcd-routines.h . Dann mit rechts klick die .c Datei in Source files und die .h Datei in den Header file ge-added - und die Hauptdatei LCD beispiel 1 als Hauptprogramm halt. allerdings bekomme ich beim übesetzen folgenden fehler code :-( . Was mache ich denn da falsch?
1 | rm -rf screen.o lcd-routines.o screen.elf dep/* screen.hex screen.eep screen.lss screen.map |
2 | Build succeeded with 0 Warnings... |
3 | avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=1000000UL -O1 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT screen.o -MF dep/screen.o.d -c ../screen.c |
4 | ../screen.c:7:26: error: lcd-routines.h: No such file or directory |
5 | ../screen.c: In function 'main': |
6 | ../screen.c:14: warning: implicit declaration of function 'lcd_init' |
7 | ../screen.c:17: warning: implicit declaration of function 'lcd_data' |
8 | ../screen.c:23: warning: implicit declaration of function 'lcd_setcursor' |
9 | ../screen.c:26: warning: implicit declaration of function 'lcd_string' |
10 | make: *** [screen.o] Error 1 |
11 | Build failed with 1 errors and 4 warnings... |
Huber M. schrieb: > Was mache ich denn da falsch? Zeige bitte deinen (vollständig geöffneten) Verzeichnisbaum vom AVR Studio als Screenshot.
Huber M. schrieb: > ../screen.c:7:26: error: lcd-routines.h: No such file or directory Hubert G. schrieb: > Sieht nach fehlenden #include "lcd-routines.h" aus. Mal die Brille putzen, da steht definitiv ein #include drin. Sieht mir hier eher nach Pfadproblemen aus oder er hat die falschen Klammern benutzt. Das hier:
1 | #include <lcd-routines.h> |
sucht nur im Include Pfad. Das hier:
1 | #include "lcd-routines.h" |
such zusätzlich auch im aktuellen Verzeichnis. Bei solchen Problemen lautet der beste Rat: Lies ein gutes C-Buch! Das sind Anfängerfehler.
:
Bearbeitet durch User
Jim M. schrieb: > Das hier:#include "lcd-routines.h" > > such zusätzlich auch im aktuellen Verzeichnis. genau so steht es drin Bei solchen Problemen lautet der beste Rat: Lies ein gutes C-Buch! Das sind Anfängerfehler. und ich hab mir das mit präprozessor, compiler und linker schon mal angesehen, aber ganz blick ich einfach noch nicht durch
:
Bearbeitet durch User
Huber M. schrieb: > Hier mal screen shot Suche mal die Datei lcd-routines.h Sie soll im gleichen Verzeichnis stehen wie die Datei DISPLAY_TEST.c Wenn nicht dann verschiebe sie dorthin. In deinem jetzigen Screenshot hast du 2 Errors, in deinem Posting nur einen, versuch mal etwas Klarheit in deinen Kopf zu bekommen.
Ja, tut mir leid ich habe es mir gelöscht. und abe es noch einmal neu macen müssen. so jetzt in den gleichen pfad kopiert, nur noch ein fehler, das wird wohl dann das selbe für die .c datei heissen. so jetzt noch mal der aktuelle screen shot. nach dem kopieren.
Huber M. schrieb: > genau so steht es drin Es ist nicht entscheidend was im AVR Studio zu sehen ist sondern ob die Datei auch wirklich in dem Verzeichnis steht in dem die Datei DISPLAY_TEST.c zu finden ist. Es kann auch sein dass du im Projekt auf eine andere Datei DISPLAY_TEST.c verweist als die die du meinst. Es muss aber (projekt-technisch gesehen) für beide Dateien auf das aktuelle Projekt-Verzeichnis gezeigt werden (mit rechter Maustaste auf Dateinamen--> Properties überprüfen).
Huber M. schrieb: > so jetzt noch mal der aktuelle screen shot. Edit Configuration Options --> Device (richtig einstellen)
Der ursprüngliche Fehler liegt im Datei-Namen: #include "lcd-routines.h" ---> #include "lcd_routines.h"
Du hast in die Configuration Options ATmega8a hineingeschrieben. Lass mal das a nach der 8 weg.
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.