- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Anfängerfrage WinAVR. Wo hin mit der Headerdatei?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2009
    Alter
    39
    Beiträge
    143

    Anfängerfrage WinAVR. Wo hin mit der Headerdatei?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich weiss dank den Tutorials was die Headerdatei ist, wozu sie Gebraucht wird und dass sie mit dem Befehl #include in ein Programm eingebunden wird.
    Was ich aber trotz den Tutorials nicht begriffen habe ist wo ich die Headerdatei abspeichern oder muss dass der Compiler sie dan auch findet.
    Ich würde dies gerne mit dem http://www.rn-wissen.de/index.php/RN...oprogramm_in_C als Beispiel ausprobieren. Was muss ich mit der C Header-Datei mache (wo rein Kopieren oder abspeichern oder so) damit es schlussendlich auf dem RN-Control1.4 läuft?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652

    Re: Anfängerfrage WinAVR. Wo hin mit der Headerdatei?

    Hi Sergetg.

    Zitat Zitat von Sergetg
    ... trotz den Tutorials nicht begriffen habe ist wo ich die Headerdatei abspeichern ...
    Hier habe ich mal kurz beschrieben, wie ich ( ! ) ein Projekt anfange. Steht ab
    ... Wenn ich ein neues Projekt eröffne ...
    Und in diese Projektdirektory kommt/kommen die Headerdatei(en). Beachte bitte beim Includen den Unterschied zwischen

    #include <avr/io.h> //
    ... also eine Datei die "irgendwo" am Computer liegt - AVRStudio weiß schon wo und

    #include "PCR_80_com_x51.h"
    ... das definiert eine Datei die im aktuellen Verzeichnis liegt.

    Ich sehe den Vorteil bei diesem Vorgehen, dass JEDE Änderung an den Quellcodes im entsprechenden Projektdirectory zusammengefasst ist. Damit kann man sauber verschiedene Versionen trennen.

    Viel Erfolg.
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2009
    Alter
    39
    Beiträge
    143
    Danke für die schnelle Antwort.

    Habe ich richtig verstanden, dass man bei Location den Pfad eingibt wo die Headerdatei ist?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von Sergetg
    ... verstanden, dass man bei Location den Pfad eingibt wo die Headerdatei ist?
    Im Prinzip ja - es ist der Pfad, in dem (bei meiner Verfahrensweise) das gesamte Projekt >>als directory<< mit allen Dateien, auch den Headerdateien ist. Möglicherweise hast Du also bei ähnlichen Projekten die gleiche Headerdatei mehrmals auf Deinem Rechner - was solls. 10 oder 20 KB - mehr oder weniger - dafür habe ich ALLES beisammen und kann ändern bzw. anpassen ohne Auswirkungen auf ein anderes Projekt. (Wobei letzteres natürlich nicht immer von Vorteil sein muss.)

    Im nachfolgenden Beispiel heißt daher die Projektdirectory: D\D_pro-fils\compu+MC\C2\beispiel. Ok?

    ................Bild hier  
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2009
    Alter
    39
    Beiträge
    143
    Also muss ich die Headerdatei ( als C Datei ? ) abspeichern und dann in Location den Pfad dort hin führen.
    Probier ich gleich mal aus.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.10.2009
    Alter
    39
    Beiträge
    143
    Ich habs jetzt ausprobiert.
    Jetzt ist das so rausgekommen, dass jetzt die Headerdatei wenn ich das angelegte Projekt öffne im Editorfenster wo normalerweise das Hauptprogramm ist erscheint. Ich nehme mal an dass da etwas nicht stimmt.

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von Sergetg
    Also muss ich die Headerdatei ( als C Datei ? ) abspeichern und dann in Location den Pfad dort hin führen.
    Probier ich gleich mal aus.
    Hmmmmm - ich glaube, ich hab das noch nicht verständlich ausgedrückt.

    Einmal werden Headerdateien nicht als *.c sondern als *.h abgespeichert.

    DANN:
    1) überlege ich mir, wie das Projekt heisst.
    2) erstelle ich (wie im weiter oben gegebenen Link) eine Projektdatei.
    3) mit "location" kann ich die auf meinem verfügbaren Plattenbereich IRGENDWO abspeichern.
    4) AVRStudio erstellt dann die oben genannte Subdirectory beispiel
    5) AVRStudio erstellt dann im genannten Beispiel einen leeren File, den Initial file beispiel.c - der ist mein main.
    6) im Ausschnitt [Initial file] könnte ich diesen "Anfangsfile" statt beispiel.c auch eumel.c nennen oder wie auch immer.
    7) Nachdem dieses Directory ..\beispiel erstellt wurde, kann ich die haderdatei dahinein schieben. Wenn die headerdatei dann existiert. Oder ich erstelle sie in diesem Projektdirectory - natürlich auch gleich im AVRStudio.
    8 ) Die "beispiel.c" oder "eumel.c" ist dann die main.

    Mein Projekt PCR_80 sieht beispielsweise so aus.

    Ok?
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    29
    Beiträge
    656
    Also muss ich die Headerdatei ( als C Datei ? ) abspeichern und dann in Location den Pfad dort hin führen.
    Nein, du speicherst alle Dateien, die zu deinem Projekt gehören in dem entsprechenden Projektverzeichniss, das du im AVR Studio angegeben hast ab. In diesem Beispiel wäre das: D:\D_pro-fils\compu+MC\C2\

    Nehemn wir mal an, du hast eine Headerdatei lcd.h. Die legst du in das entsprechende Verzeichniss und bindest sie mit #include "lcd.h" ein. Da eine Header-Datei nur Funktionsdefinitionen und solche Sachen enthalten sollte und der eigentliche Quelltext zu den Funktionen in einer gleichnamigen Datei mit der Endung .c steht (in diesem Fall lcd.c), muss man die dazugehörige .c Datei in das entsprechende Projekt zu de Source-Dateien hinzufügen (Bei AVR STudio muss man dazu auf den links bei den Projektdateien liegenden Ordner "Source" mit der rechten Maustaste klicken, den EIntrag Projektdateien hinzufügen (oder so ähnlich) auswählen und die .c Datei hinzufügen (sie sollte auch im Projektverzeichniss liegen.

    Wenn du mit AVR Studio ein Projekt erstellst, wird automatisch eine .c Datei, die den Projektnamen trägt erstellt, sie ist von vorneherein in das Projekt eingebunden, in ihr sollte sich die main() Funktion befinden.

    Die headerdateien, die du mit #include <...> (z.B. #include <avr/io.h> einbindest befinden sich in einem Unterverzeichniss, das sich in dem Verzeichniss befindet, in dem du den Compiler installiert hast (der Compiler findet diese Dateien automatisch).

    mfg
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.652
    Zitat Zitat von _R2D2
    ... Nein, du speicherst alle Dateien, die zu deinem Projekt gehören in dem entsprechenden Projektverzeichniss, das du im AVR Studio angegeben hast ab. In diesem Beispiel wäre das: D:\D_pro-fils\compu+MC\C2\ ...
    Nein, das Projektverzeichnis heißt wirklich D:\D_pro-fils\compu+MC\C2\beispiel\

    Es sei denn, es gibt andere AVRStudioversionen, die es anders als meine machen.
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    29
    Beiträge
    656
    Nein, das Projektverzeichnis heißt wirklich D:\D_pro-fils\compu+MC\C2\beispiel\
    Sry ich hab das mit Copy&Paste kopiert und dann wohl das "beispiel\" einfach übersehen.
    meine Homepage: http://www.jbtechnologies.de
    Hauptprojekte: Breakanoid 2 - Sound Maker

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress