Hallo Folgendes zu Hard: und Software: Schreibe meine Programme mit AVR Studio 4.18 und verwende den C Compiler WinAVR 20090313. Besize Das Board RN-CONTROL mit ATmega32 von der Homepage http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=10 und das LCD Display AC-202A. Nun zu meiner Frage: Da ich Anfänger bin habe ich mir den C Code vom GCC Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung ins AVR Studio kopiert. Beim Compilieren kommt die Fehlermeldung ../LCD.c:49:26: error: lcd-routines.h: No such file or directory Der Compiler kann mit den "..." nichts anfangen. Habe mir schon sämtliche Beiträge durchgelesen, aber irgendwie verstehe ich die Zusammenhänge nicht. Bin für alle Beiträge dankbar.
hast du dir denn auch die lcd-routines.h kopiert? Die muß im gleichen Verzeichnis liegen wie die .c-Dateien (wg. der "" beim #include).
Naja, "..." ist auch nen Punkt zuviel ;-) Kopier doch der einfachheit halber mal die lcd.h und die lcd.c mit in das aktuelle Verzeichnis. Im AVR Studio bindest du dann die lcd.c bei den Source files mit ein. In deiner C-Datei schreibst du dann einfach include lcd.h Den Rest erledigt dann das Studio
Ich glaube, die ... hat er nicht im Quelltext stehen? Das war nur, um Gänsefüßchen mit irgendwas drin zu schreiben, denke ich. Sonst sähe die Fehlermeldung anders aus.
Genau das ist der springende Punkt. Ich hab mir ein eigenes Verzeichnis angelegt und dies beim Projekterstellen ausgewählt. Jetzt weiß ich nicht, wo sich die lch.h bzw. lcd.c befinden? Wo muss ich dann im AVR Studio die lcd.c einbinden? Ich bräuchte da eine Anleitung für DUMMIS.
"Explorer" -> Dateisuchen, dann in dein Projektverzeichnis kopieren. In der Projektverwaltung von AVRStudio, rechte Maustaste -> *.h und *.c hinzufügen
ober rechts findest du Header Files und Source Files, also *.h und *.c files.
Unter Source Files befindet sich schon seit der Projeterstellung die lcd.c. Was ist mit der lcd.h Datei bzw. wo befindet sich diese? Hab den Explorer durchsucht, aber nichts brauchbares gefunden. Befindet sich diese etwa im WinAVR Verzeichnis?
lcd.c und lcd.h gehören zum Code für das LCD, also zum Ansteuern. Dies werden im quellcode mit "#include" eingebunden, diese Zeilen müßten ganz oben im Quellcode stehen. Poste doch mal deinen Code
Wenn du den Code aus dem Wiki hier im Forum benutzt (benutzen willst), kannst du die Dateien selbst erstellen. Copy and Paste :-), siehe Bild.
Verwende den Code aus dem Wiki http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung Habe einfach den Code ins AVR Studio hineinkopiert. LCD.c befand sich automatisch in den Source Files. Welche Schritte muss ich noch machen, nachdem ich unter den Header Files eine Datei erstelle?
also nur mit den lcd.h und lcd.c bkommst du nichts auf´s display. in dem Wiki sind noch 2 mal die main.c aufgeführt die mit den beiden LCD datein zusammen arbeitet. Such dir eine aus!!! erstelle erstmal deine main.c. Du sollstest dir erstmal ein kleineres Projekt zusammen stellen. Blinkende LED zum Beispiel. Findest du auch im Wiki. Auch einführende Beispiele im C-Code, was ist eine Main.c usw.
Hi nur zur Info die LCD.c ist sicher nicht automatisch erstellt worden. Die hast du beim Erstellen eines neues Projekts als "Initial file:" den Namen dort eingegeben. Besser wäre es du nennst sie "main" oder oder was auch immer. Zumindest so, dass du erkennst das sich dort deine main Funktion befindet. Gruß MISZOU
Mittlerweile habe ein neues Projekt erstellt, damit es zu keinen Verwechslungen mit lcd.c kommt. Der Name des neuen Projektes lautet Erster_Versuch--LCD.c Beim Compelieren erscheint noch immer der gleiche Fehler. Von welchem Verzeichnis bekomme ich jetzt die lcd.c bzw. die lcd.h oder brauche ich diese gar nicht, da der Fehler auf dieses #include "lcd-routines.h" verweist?
Übrigens, Lauflichtprogramme bzw. Blinklichter funktionieren einwandfrei. Hier brauche ich aun nichts einzubinden. Es muss also an dem #include "lcd-routines.h" liegen.
Diese Datei sollte deine main.c werden. wie du siehst ist dort per #include die lcd-routines.h eingefügt. Die " " sagen nichts anderes das die Datei sich im Projekt Verzeichnis befindet. Die < und > sagen den Compiler das die Datein in seinem Verzeichnis (in deinem Fall WINAVR) liegen. Also kopiere aus dem Wiki die Datein, und füge Sie in deinem Projekt dazu, wie oben schon beschrieben. Ansonsten gilt für dich: erstmal die einführenden Schritte aus dem Wiki lernen, und nicht mitten drin anfangen, das gibt nur Frust. // // Anpassungen im makefile: // ATMega8 => MCU=atmega8 im makefile einstellen // lcd-routines.c in SRC = ... Zeile anhängen // #include <avr/io.h> #include <stdlib.h> #include "lcd-routines.h" // Beispiel int variable = 42; int main(void) { lcd_init(); // Ausgabe des Zeichens dessen ASCII-Code gleich dem Variablenwert ist // (Im Beispiel entspricht der ASCII-Code 42 dem Zeichen *) // http://www.code-knacker.de/ascii.htm lcd_data(variable); set_cursor(0,2); // Ausgabe der Variable als Text in dezimaler Schreibweise { // ... umwandeln siehe FAQ Artikel bei www.mikrocontroller.net // WinAVR hat eine itoa()-Funktion, das erfordert obiges #include <stdlib.h> char Buffer[20]; // in diesem {} lokal itoa( variable, Buffer, 10 ); // ... ausgeben lcd_string( Buffer ); } while(1) { } return 0; }
Hallo BITTE sagen, wo "lcd-routines.h" - Datei und andere möglich finden zum rünterladen. Oder wie kan man sie selbst einstellen...............
Jetzt bin ich aber langsam doch verwirrt... In deinem Original-Beitrag ganz oben hast du doch schon einen Link auf das Tutorial geschrieben: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung Wenn du darin etwas nach unten blätterst (bis zur Überschrift Programmierung), dann sind dort Quelltexte abgedruckt. Gleich der erste davon heisst lcd-rotines.h. Diesen Quelltext rahmt man mit der Maus ein, drückt auf Strg-C bzw. Ctrl-C, öffnet einen Editor der freien Wahl (z.B. gibt es im AVR-Studio wahrscheinlich so etwas wie "Neue Datei" im Menü, sonst halt Notepad starten oder jeden anderen Editor). In dem leeren Textfenster drückt man auf Strg-V oder Ctrl-V und sollte jetzt den Quelltext aus dem Tutorial sehen. Dann abspeichern als lcd-routines.h, und zwar in dem Verzeichnis, in dem auch schon dein erster Quelltext LCD.c steht, von dem die obigen Fehlermeldungen stammen bzgl. "../LCD.c:49:26: error: lcd-routines.h: No such file or directory". Analog dann aus dem Tutorial lcd-routines.c kopieren und auf der Festplatte im selben Verzeichnis als lcd-routines.c speichern. Dann wie oben beschrieben zusehen, daß diese Dateien im AVR-Studio auch zum Projekt gehören, sonst hinzufügen. Zu dem Projekt sollten deine LCD.c gehören (falls sie noch so heisst) sowie die beiden lcd-routines.c und lcd-routines.h.
Nachtrag: sehe jetzt erst, daß die letzte Frage von jemand anderem kommt als die erste. Da hat Viktor einfach einen Thread gekapert... Ansonsten stimmt meine Antwort hoffentlich trotzdem. Viktor, betrachte dich kurz als Christian P. und mache bitte in Zukunft für neue Fragen einen neuen Thread auf!
Das gleiche Problem wie von Christian P. angesprochen habe ich auch. Hab auch den ganzen Code von der Mikrocontroller.net Seite ins AVR Studio kopiert und erhalte auch bei der lcd - routine immer eine Fehlermeldung. Hab schon die ganzen Foren nach möglichen Ursachen durchsucht, aber ohne Erfog. Kann vielleicht jemand eine Anleitung hier hineinstellen wie die einzelnen Schritte zu bewerkstelligen sind, damit das Programm endlich läuft. Die lcd.h Datei hab ich auch schon in die Header - Files eingebunden, jedoch ohne Erfolg. Vielleicht liegt das Problem an dem lcd.h File von Peter Fleury, da dieses File für win avr 3.3 geschrieben wurde? Danke
Du erstellst ein neues Projekt. Nenn es meinetwegen lcd_test AVR Studio erzeugt das Projekt und auch eine lcd_test.c Diese lcd_test wird deine Hauptdatei. Dort schreibst du deinen Code. Jetzt brauchst du noch die eigentlichen lcd Funktionen. Die, die die Arbeit machen. So wie das aussieht, hast du dir von P. Fleury die LCD Library geholt. Im Zip-File findest du eine lcd.c und eine lcd.h Beide Dateien kopierst du auf das Verzeichnis in dem AVR Studio das Projekt angelegt hat und wo es auch die lcd_test.c erzeugt hat. Damit hast du in deinem Projektverzeichnis: lcd_test.c lcd.c lcd.h Bisher ist nur die lcd_test.c im Projekt enthalten. Die anderen beiden sind nur auf dem Verzeichnis aber deswegen sind sie noch lange nicht Teil des Projektes. Also fügst du im AVR-Studio die beiden Dateien hinzu: Im Source-Tree Baum, rechte Maustaste, add existing Source Files und jeweils die lcd.c bzw. die lcd.h zum Projekt hinzufügen. In deinem lcd_test.c kannst du jetzt schreiben
1 | ....
|
2 | #include <lcd.h> |
3 | ...
|
und der Compiler wird das include-File finden.
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.