Forum: Mikrocontroller und Digitale Elektronik Frage zu: typedef struct


von Stefan W. (Gast)


Lesenswert?

hallo, ich habe hier mal im Forum gewühlt und wollte einen einfachen 
Blinker programmieren...

leider bekomme ich beim compilieren folgenden fehler:

gsma.c:39: error: invalid use of undefined type ‘struct vanTime’


das ist der code:

#include <avr/io.h>    // Input/output an den Pins
#include <avr/interrupt.h>  // Interrupts


volatile struct vanTime    curTime;


int main(void)
{


Zeile 39  curTime.ms   = 0;
Zeile 40  curTime.s   = 0;
Zeile 41        curTime.m   = 0;
Zeile 42  curTime.h   = 0;



}


muss da nicht irgendwo ein:

typedef struct

hin?

Bin für jeden Tip dankbar

von Oliver (Gast)


Lesenswert?

So ist es.

Oliver

von Stefan W. (Gast)


Lesenswert?

und wie müsste es aussehen?

habe keine ahnung

von SCHTRUCKT (Gast)


Lesenswert?

So:

typedef struct


Aber das hast du ja schon selbst gewusst.

von Karl H. (kbuchegg)


Lesenswert?

Stefan W. wrote:
> hallo, ich habe hier mal im Forum gewühlt und wollte einen einfachen
> Blinker programmieren...
>
> leider bekomme ich beim compilieren folgenden fehler:
>
> gsma.c:39: error: invalid use of undefined type ‘struct vanTime’
>
>
> das ist der code:
>
> #include <avr/io.h>    // Input/output an den Pins
> #include <avr/interrupt.h>  // Interrupts
>
>
> volatile struct vanTime    curTime;
>
>
> int main(void)
> {
>
>
> Zeile 39  curTime.ms   = 0;
> Zeile 40  curTime.s   = 0;
> Zeile 41        curTime.m   = 0;
> Zeile 42  curTime.h   = 0;
>
>
>
> }
>
>
> muss da nicht irgendwo ein:
>
> typedef struct
>
> hin?

Zuallererst muss da mal eine Dekleration hin, wie denn
eigentlich eine struct vanTime aussieht!
Genau das sagt dir auch die Fehlermeldung.

Woher soll den der Compiler wissen, wieviel Speicher er für
die Variable curTime reservieren soll, wenn er nicht weiß,
wie so eine stuct aussieht.

von Stefan W. (Gast)


Lesenswert?

genau, ich habe es ergänzt und er compiliert durch,
in meinem ursprünglichen Beispiel fehlt dieser code leider


#include <structs.h>

structs.h:

struct vanTime
{
  uint8_t ms;
  uint8_t s;
  uint8_t m;
  uint8_t h;
};


Danke euch!

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
Noch kein Account? Hier anmelden.