Gast
#548107
Tag!
Ich krieg's trotz lesen aller Threads zum Thema nicht hin, ein c-Projekt
in mehrere Unterprogramme aufzuteilen. Ich fürchte, ich brauch's noch
mal zum mitmeißeln...
Ich benutze AVRStudio in C (GCC).
Beispiel:
Ich habe ein Programm, wir nennen es "main.c". Im gleichen Verzeichnis
liegt der code für Subroutinen "lcd.c". Jetzt möchte ich Funktionen aus
lcd.c in main.c aufrufen, weil ich nicht den ganzen Code in der main.c
haben möchte. Da erkennt man ja irgendwann nichts mehr. Also habe ich
eine lcd.h Headerdatei geschrieben, die NUR die Funktionsprototypen aus
der lcd.c enthält, sonst nichts, keine includes, kein garnix.
Lässt sich nicht compilieren und ich werd noch mal blöd :)
Bsp:
main.c
=======
#include <avr/io.h>
#include "lcd.h"
int main (void)
{
unterfunktion(123);
return 1;
}
lcd.h
========
void unterfunktion(char uebergabewert);
lcd.c
=========
#include<avr/io.h>
void unterfunktion(char uebergabewert)
{
uebergabewert=uebergabewert*2;
}
_________________________________________________
a) Warum lässt sich das nicht kompilieren?
Und noch ein paar Fragen:
b) Muss die Datei lcd.c auch im Makefile unter SRC angegeben werden?
Wenn ja, mit oder ohne ".c" und wie getrennt von "main" (komma
semikolon...)
c) Stehen im header nur funktionsprototypen oder kann da auch code
drinstehen?
d) Muss der Prototyp von "unterfunktion" AUCH in lcd.c stehen?
e) Müssen alle drei Files im AVRstudio im "SourceFiles" und
"HeaderFiles"- Ordner sein?
Ihr würdet einem verzweifelten Mann einen großen Gefallen tun...
Erik
