Hallo, ich habe ein Programm welches mehrere c-Files enthält. Nun hab ich eine Variable die in der ISR hochgezählt wird und in den c-Files verwendet wird. #include "rgbschow1.h" #include "rgbschow2.h" #ifndef RGBSHOW1_H #define RGBSHOW1_H extern void show1( void ); #endif // RGBSHOW1_H #ifndef RGBSHOW2_H #define RGBSHOW2_H extern void show2( void ); #endif // RGBSHOW2_H Allerdings bekomme ich immer den Fehler, error: 'Time' undeclared (first use in this function) die Varible ist im Hauptprogramm Deklariert. volatile unsigned char Time=0; Wie kann ich das nun umändern das ich die Variable im Hauptprogramm sowie auch in den externen c-Files vielleicht hat jemand einen tipp für mich
wenn ichs im Hauptprogramm so schreibe extern volatile unsigned char Time=0; dann bekomm ich ein error,undeclared (first use in this function). Die Variable wird im Hauptprogramm und in den externen c-Files genutzt.
Der Compiler übersetzt jedes C Modul getrennt. Über die Headerfiles werden dann u.a. fremde Symbole bekanntgemacht. In deinem Fall muss die var als extern in ein Headerfile eintragen, was von allen Files, wo du die var verwenden willst, eingebunden werden muss: extern int var; In einem der C Module musst du die latürnich anlegen: int var = 0;
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.