Forum: Mikrocontroller und Digitale Elektronik Zugriff auf elemnte in einem struct


von Martin (Gast)


Lesenswert?

Hi Experten,

ich wollte wissen wie ich auf einem element eines Struktures per c 
Zugreifen kann.
Ich habe eine 8051 Controller, die Struktir ist im idata definiert und 
habe gelesen man kann nur über indirekte Adressierung darauf zugreifen.
Die Arrow notation kennt Keil nicht.
Die Struktur ist so definiert:
idata struct{
    unsigned char led1  :1;
    unsigned char led2  :1;
    .
    .
    .
    unsigned char led8  :1;
}led;

Mit led.led1= 1 kann ich nicht (indirecte addresierung
char idata *p = &led;
p->led1=1;  geht auch nicht (Arrow notation)
Kann ich mit (*p).led1=1; zugreifen? Ist es soweit richtig?
Danke

von Jim M. (turboj)


Lesenswert?

Martin schrieb:
> Die Arrow notation kennt Keil nicht.

Das ist mir neu. Ich habe das öfters unter Keil benutzt, allerdings eher 
selten für Bitfields.

Ansonsten: Fehlermeldung des Compilers posten.

von Peter D. (peda)


Lesenswert?

Jim M. schrieb:
> Fehlermeldung des Compilers posten.

Immer die beste Idee. Sollte man eigentlich von selber drauf kommen.

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.