Guten Morgen!
Befasse mich seit kurzem mit C und einem Mega88 und bin nun auf die
Möglichkeit gestossen struct zu verwenden.
Folgendes habe ich ausprobiert.
Ich habe eine struct angelegt, in test.h
1 | typedef struct
|
2 | {
|
3 | uint8_t byte;
|
4 | uint8_t byte1;
|
5 | bool def;
|
6 |
|
7 | } test1_t
|
dann habe ich die struct extern declariert
und in test.c nochmals erwähnt
nun müsste ich doch auf die struct von allen anderen .c Files zugreifen
können, in die ich test.h über
einbinde, oder?
in main.c habe ich #include test.h eingefügt, sowie in test.c.
in main.c möchte ich nun die variablen test1.byte und test1.byte1 mit
werten beschreiben und in test.c möchte ich diese variablen verändern
und auf ein display ausgeben.
Zum Beispiel so
1 | test1.byte = 0x0A;
|
2 | test1.byte1 = 0xF0;
|
ich habe nun das problem, dass wenn ich in test.c den wert von
test1.byte einer zwischenvariable z. B. temp übergeben möchte, mit der
ich dann "weiterrechnen" kann, kein wert in die zwischenvariable temp
geschrieben wird. die zwischenvariable wird immer mit 0 beschrieben.
Wollte es so machen
Verstoße ich damit gegen etwas, weil es nicht funktioniert?
Habe ich etwas grundsätzliches nicht verstanden?
Der Compiler gibt keine Fehlermeldung aus.
Vielen Dank für Eure Mühen!
Gruß
Markus