Hallo, ich habe eine frage zu dem thema unions und typedefs. Wenn ich einen bitzugriff auf eine z.B 8bit variable realisieren will mache ich das normalerweise so: typedef union{ IO_BYTE byte; struct { IO_BYTE P10 :1; IO_BYTE P11 :1; IO_BYTE P12 :1; IO_BYTE P13 :1; IO_BYTE P14 :1; IO_BYTE P15 :1; IO_BYTE P16 :1; IO_BYTE P17 :1; }bit; }PDR1STR; jetzt habe ich folgendes problem: ich möchte bei 2 8bit variablen gleichzeitig auf das 0-te bit zugreifen. wenn ich jetzt also schreibe pdr1.bit.P10 kann ich auf das 0te bit zugreifen, und es entweder auf 1 oder 0 setzen. das ganze jetzt mit 2 8 bit variablen: ich möchte jetzt aber mit irgeneinem c-ausdruck einen 2 bit wert zuweisen, dessen eines bit in dem 0-ten bit der ersten variablen landet, und dessen weites bit in dem 0-ten bit der zweiten 8bit variable landet. ist das möglich? gruß, m.
Maddin wrote: > das ganze jetzt mit 2 8 bit variablen: > ich möchte jetzt aber mit irgeneinem c-ausdruck einen 2 bit wert > zuweisen, dessen eines bit in dem 0-ten bit der ersten variablen landet, > und dessen weites bit in dem 0-ten bit der zweiten 8bit variable landet. > > ist das möglich? Nein, denn es handelt sich ja um 2 getrennte Variablen. Schreib dir für den Zugriff eine Funktion oder meinetwegen ein Makro.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.