Ich arbeite mit AVRStudio 4.12 SP4 und WinAVR20071221auf einem ATmega32.
Nun habe ich in einer header Datei eine struct definiert (header Datei
in main.c natürlich eigebunden), dcf77.h:
1 | typedef struct {
|
2 | char min[2];
|
3 | char hour[2];
|
4 | char day[2];
|
5 | char weekday[2];
|
6 | char month[2];
|
7 | char year[2];
|
8 | } dcf_struct;
|
9 |
|
10 | uint8_t calc_dcf77 (uint8_t dcf_array[59], dcf_struct* dcfstruct);
|
in der main.c wird die struct nun eigentlich angelegt:
1 | dcf_struct dcf_complete;
|
2 | uint8_t dcf[59];
|
diese soll einer funktion übergeben werden.
Funktionsaufruf in main.c:
1 | calc_dcf77 ( dcf, &dcf_complete);
|
funktion in dcf77.c:
1 | uint8_t calc_dcf77 (uint8_t dcf_array[59], dcf_struct* dcfstruct)
|
2 | {
|
3 | ...
|
4 | //buffer ist auch ein char array der länge 2
|
5 | dcfstruct->hour[0]=buffer[0];
|
6 | ...
|
7 | }
|
Problem ist nun, dass die dcf77.c z.b nichts mit der definierten struct
anfangen kann ( error: expected declaration specifiers or '...' before
'dcf_struct', diese Fehlermeldung kommt in dcf77.c am anfang der
Funktion).
Füge ich die gleiche Tyeedef wie in der header Datei dcf77.h ein,
funktioniert schon mal alles ohne Fehler.
Nun aber das zerite Problem, ist der Zugriff auf die char arrays der
struct denn überhaupt so richtig. naja, funktionieren tuts ja^^