Hallo, ich programmiere in C einen Atmega128. wie der betreff schon sagt, brauche ich eine Variable die über "main.c" hinausgeht damit ich sie in einer weiteren C-Datei ausgeben kann. Das Problem ist folgendes: ich habe den Webserver vom Ulrich Radig, ich habe aber in der cmd.c / cmd.h einen Befehl hinzugefügt, der mir einige Variablen per RS232 ausgeben soll. nur werden diese Variablen in der main.c errechnet und ich habe aus der cmd.c keinen Zugriff auf diese Variablen. der Befehl in der cmd.c nennt sich folgendermaßen: //---------------------------------------------------------------------- -------- // Status von Heizung ausgeben void command_status (void) { usart_write ("\n\rstatus %d;%d;%d\r\n",temp_boiler,temp_ofen,pumpe); } //---------------------------------------------------------------------- -------- ich habe auch schon an Zeiger gedacht, aber irgendwie ist das auch nicht das richtige und eine "globale" Variable geht auch nicht (sollte sie das nicht?) ich habe alle meine Variablen ausserhalb der main() deklariert. Die Fehlermeldung vom WINAVR sieht dann folgendermaßen aus: cmd.c: In function 'command_status': cmd.c:339: error: 'temp_boiler' undeclared (first use in this function) cmd.c:339: error: (Each undeclared identifier is reported only once cmd.c:339: error: for each function it appears in.) cmd.c:339: error: 'temp_ofen' undeclared (first use in this function) cmd.c:339: error: 'pumpe' undeclared (first use in this function) wäre sehr dankbar für eine antwort von euch!!!
Martin 567 schrieb: > das richtige und eine "globale" Variable geht auch nicht Warum nicht? http://www.mikrocontroller.net/articles/FAQ#Globale_Variablen_.C3.BCber_mehrere_Dateien
ok danke Karl-Heinz jetzt gehts ich hatte die deklaration in der cmd.c vergessen. bei mir wars nur in der main.c :P ich habs mir gleich gedacht, global muss doch hinhaun. naja jetzt gehts ja... danke nochmal ging wirlklich schnell
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.