Globale Variablen in MPLABX

OP #3469996
Lesenswert?

Hallo,

ich verzweifle gerade ein wenig bei MPLABx mit globalen Variablen bzw. 
mit globalen Variablen, die einen selbstdefinierten Typ aufweisen.

Als Bsp:

Mein Projekt besteht aus main.c und dann noch zusätzlich aus dummy.c und 
dummy.h
In dummy.h habe ich den Typ definiert:
1
//dummy Typedef
2
typedef struct
3
{
4
bool a;
5
bool b;
6
uint8_t c;
7
}dummy_t;
8

9
extern dummy_t dummy; //dummy global

In dummy.c habe ich dann die Variable deklariert:
1
dummy_t dummy;

Nun möchte ich auf die Variable Dummy in main.c zugreifen. In dieser ist 
dummy.h eingebunden.
1
#include "dummy.h"
2
.
3
.
4
.
5
int main(int argc, char** argv) {
6
.
7
.
8
.
9
dummy.c = 25;
10
.
11
.
12
.
13
}

Während ich den Programmcode schreibe, wird mir die Variable dummy in 
main.c sogar von MPLABX vorgeschlagen (Ctrl + Leertaste). Sobald ich 
jedoch builde, spuckt mir der Compiler für main.c eine Fehlermeldung für 
jede Zeile, in der ich auf dummy zugreife, aus:

error: (192) undefined identifier "dummy"
error: (196) struct/union required

Von Keil uVision bin ich es gewohnt, Variablen nach diesem Prinzp nutzen 
zu können. Da gibt es keine Probleme.
Weiß jemand wo das Problem bei  MPLABX liegt?

Ich programmiere übrigens einen PIC16F1825. Als Compiler nutze ich den 
XC8.

Vielen Dank schonmal für die Hilfe.

Gruß Philipp
OP #3475349
Lesenswert?

Ich habe es zum Laufen bekommen. Eigentlich war alles richtig.
Jedoch hatte ich ein meinem Quellcode vorher noch für Testzwecke ein 
Struct definiert, das dummerweise den gleichen Namen, wie das typedef 
hat. Wie es die Schusselei so will, habe ich natürlich vergessen das 
Struct wieder zu löschen und dadurch kam es zu einem Namenkonflikt. 
Jetzt klappt alles.

Danke dennoch für die Hilfe.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren