Hallo.
Ich würde gerne mit einer For/Next Schleife auf ein Bitfeld zugreifen
und weiß grade nicht wie ich dies in dieser Situation machen soll.
Bitfeld:
1 | uint8_t testdata[10] = {1};
|
2 |
|
3 | struct data
|
4 | {
|
5 | uint8_t bit1: 1;
|
6 | uint8_t bit2: 1;
|
7 | uint8_t bit3: 1;
|
8 | uint8_t bit4: 1;
|
9 | uint8_t bit5: 1;
|
10 | uint8_t bit6: 1;
|
11 | uint8_t bit7: 1;
|
12 | uint8_t bit8: 1;
|
13 | uint8_t bit9: 1;
|
14 | uint8_t bit10: 1;
|
15 | } ReceiveBuffer;
|
nun möchte ich z.B. ein Array oder was auch immer in diese Struktur
kopieren:
1 | for (i=0;i<10;i++)
|
2 | {
|
3 | ReceiveBuffer.bit & i = testdata[i];
|
4 | }
|
Mit dem "*.bit & i" soll nur verdeutlichen wo gerade mein Problem ist
;)
Dass der Syntax nicht stimmt ist ja logisch...
Ich dachte zuerst ich kopiere an die Struct-Adresse + i eine 1 oder 0,
aber laut Doku wird das Struct ja im Speicherbereich nicht zwingend
hintereinander angelegt.
Wie muss ich das denn schreiben, dass ich es nutzen kann?
Oder gibt es hier gar keine Lösung?
Danke fürs überlegen und nun erst einmal gute Nacht!