Hallo zusammen,
ich habe folgendes Array und Struct:
1 | unsigned char array[10] = {1,2,3,4,5,6,7,8,9,0};
|
2 | struct strct {
|
3 | unsigned char one[2];
|
4 | unsigned char two[3];
|
5 | unsigned int three;
|
6 | };
|
Das ist global definiert.
In Main erstelle ich einen struct pointer
und lasse diesen Pointer auf den Anfang des Arrays zeigen:
1 | test = (struct strct*)&array;
|
Ich erwarte mir dann folgendes:
one = [1,2]
two = [3,4,5]
three = 1543 (6<<8 | 7)
Im debugger bekomme ich für one und two auch die gewünschten Werte,
three hat aber den wert 9.
Auf den AVRs hat alles wie gewünscht funktioniert, auf dem STM32
(Discovery-Board) aber nicht.
Wie komme ich also möglichst einfach zum gewünschten Ergebnis?