Hallo, ich bin absoluter Einsteiger in der C-Programmierung. Das Tutorial habe ich fast durch. Was ich absolut nicht verstehe: Schildern wir es am Beispiel von der LCD-Ansteuerung im Tutorial. Hier steht etwas von der Datei "lcd-routines.h" und "lcd-routines.c". Dazu fehlt mir der Zusammenhang. Oder anders ausgedrückt, wie binde ich diese Dateien ein? Was ist eine *.h Datei und wie kann ich mir den Zusammenhang erklären? Egal wo ich nach Infos suche, in allen C Tutorials die ich gefunden habe wird auf so etwas nicht eingegangen. Vielleicht stelle ich mich aber als ehemaliger Bascom Benutzer viel zu blöd an :-( Ich wäre um jede Hilfe dankbar. Schönes WE ! Gruß Technikus
Hallo, in C brauchst du z.B sogenannte Prototypen! Zum Beispiel: Hauptprogramm: int main(){ //Unterprogrammaufruf <- das ist ein Kommentar! test(); return 0; } void test(){ //.... } Beim Compilieren sieht der Compiler die Fkt test, weiß aber noch nicht das es sie gibt, deshalb musst du ihm vorher sagen dass es sie gibt!!!! Prototyp: void test(); Diesen schreibst du vor main (vor die Funktion in der test bekannt sein muss) oder in eine .h datei und bindest diese mit #include "dateiname.h" ein. INCLUDE bewirkt dass alles was in der einbindenden Datei steht einfach eingefügt wird, so kennt jetzt der Compiler alle Funktionsprototypen und kann auch prüfen ob du sie richtig aufrufst. Da gibt es noch viel mehr sachen die man in eine Header-Datei schreiben kann, schau dir einfach mal eine an. mfg Alex
technikus wrote: > Achso: Ich nutze AVR Studio mit WinAVR. http://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F
@Kar heinz: Danke, den Link kannte ich nicht. @Alex: Mal angenommen ich habe einen Quelltext für taster.h und einen für taster.c Im Avr Studio gehe ich mit rechts Klick auf Source Files und wähle create new source file. Den File nenne ich dann taster.c und füge den Quelltext ein. Wohin jetzt mit dem taster.h File? Also eine *.h Datei ist eine header Datei. Organisiert diese quasi die dazugehörige *.c Datei? DANKE für die Infos! Gruß technikus
technikus wrote: > @Kar heinz: Danke, den Link kannte ich nicht. > > @Alex: Mal angenommen ich habe einen Quelltext für taster.h und einen > für taster.c > Im Avr Studio gehe ich mit rechts Klick auf Source Files und wähle > create new source file. Nicht create. Add. Du hast doch das File schon. Alles was du tun musst ist, dem AVR Studio mitzuteilen, dass es auch noch zu diesem Projekt mit dazugehört. Das ist dann schon alles. Den File nenne ich dann taster.c und füge den > Quelltext ein. > Wohin jetzt mit dem taster.h File? Das taster.h File hast du im besten Fall am gleichen Verzeichnis auf dem auch taster.c ist. Das muss im übrigen nicht das Verzeichnis sein, auf dem deine Entwicklung stattfindet. Ich habe ein Verzeichnis, in dem ich einige Hilfsfunktionalitäten als C Code in mehreren Files organisiert habe. Das Verzeichnis heist bei mir 'Common' um anzudeuten, dass es sich hier um Funktionalitäten handelt, die von mehreren Projekten quasi gemeinschaftlich benutzt werden kann. Je nachdem was ich davon in einem Projekt brauche, werden dann die entsprechenden Files (jeweils *.c und *.h) zum Projekt hinzugefügt. Hinzugefügt, also 'Add existing file'. > Also eine *.h Datei ist eine header Datei. Organisiert diese quasi die > dazugehörige *.c Datei? Ich weis nicht was du damit meinst. In einem Header File ist alles enthalten, was einen Benutzer der Funktionalität im *.c File interessiert. Dort sind die Protoypen der Funktionen, die relevanten Datenstrukturen, Konstanten- definitionen etc.
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.