Forum: Compiler & IDEs array einer struct


von marc (Gast)


Lesenswert?

hallo

ich stehe wider mal am berg...
ich versuche folgendermassen ein array von einer struct zu generieren:

struct
{
uint8_t brightness;
uint16_t fadetime;
} OutputUnitPort[24];
OutputUnitPort OutputUnitChannel[24];

Die gesamte definition ist ausserhalb des main() damit die variable
global ist.
wenn ich nun aber im avrstudio die adressen betrachte, haben alle
dieselbe. also OutputUnitChannel[0].brightness hat dieselbe adresse wie
OutputUnitChannel[1].brightness..???

Auch wenn ich versuche Werte zu schreiben, funktioniert dies nur mit
dem index 0 (also OutputUnitChannel[0].brightness)??

Kann mir jemand helfen?

mfg Marc

von marc (Gast)


Lesenswert?

uff...

der code sieht natürlich folgendermassen aus:
struct
{
uint8_t brightness;
uint16_t fadetime;
} OutputUnitPort;
OutputUnitPort OutputUnitChannel[24];

von marc (Gast)


Lesenswert?

vielleicht klappts ja beim dritten mal...:

typedef struct
{
uint8_t brightness;
uint16_t fadetime;
} OutputUnitPort;
OutputUnitPort OutputUnitChannel[24];

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Thema hatten wir kürzlich schon mal - nimm die aktuelle Version von
avrstudio, Deine hat an dieser Stelle wohl einen Fehler.

von marc (Gast)


Lesenswert?

vielen dank
klappt alles bestens :-)

Allerdings ist noch anzufügen, dass es nur mit dem .elf File
funktioniert. Debuggen mit dem .cof File ergibt auch bei neuster
AVRStudio Version diesen Fehler.

mfg Marc

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.