Hallo Leute,
ich habe folgendes Problem mit einer Struktur und sehe nicht warum ich
einen Wert nicht aendern kann.
Folgendes Szenario.
project.c (Main Funktion)
1 | project_info project_struct;
|
2 |
|
3 | int main( void )
|
4 | {
|
5 | project_struct.state = state_wait;
|
6 | project_struct.id = 0,
|
7 |
|
8 | while(project_struct.state == state_wait){
|
9 |
|
10 | irgentwann wird project_struct.state = state_control
|
11 | und dann gehts weiter...funktioniert einwandfrei.
|
12 |
|
13 | }
|
14 | ....
|
15 |
|
16 | }
|
project.h
1 | diverse includes
|
2 | unter anderem:
|
3 |
|
4 | #include "project_function.h"
|
5 |
|
6 | typedef struct {
|
7 | BYTE id; // ID is used for delaying the response to broadcasts
|
8 | BYTE state; // State variable
|
9 | } project_info;
|
10 |
|
11 | extern project_info project_struct;
|
Jetzt moechte ich diese Struktur (genauer gesagt die id) in
project_function.c (set_ID(BYTE *data)) veraendern.
project_struct.id = data;
Der Compiler gibt keine Fehlermeldungen raus, egal ob ich die project.h
Datei in der project_function.c Datei einbinde oder nicht (habe diverse
Optionen versucht, natuerlich auch die Struktur in project_function.c zu
deklarieren). Der Wert project_struct.id bleibt aber immer 0;
Irgentwie habe ich gerade ein totales Blackout...
Vieleicht kann mir ja jemand auf die Spruenge helfen.