hi zusammen
ich schreib gerade nen kleines c prog auf dem msp430 in CCE 3. Dabeui
habe ich folgendes Problem:
ich habe mir 2 structs gebaut die wie folgt aussehen (stehen in spi.h)
1 | struct spi_raw_data
|
2 | {
|
3 | unsigned int data0;
|
4 | unsigned int data1;
|
5 | unsigned int data2;
|
6 | };
|
7 |
|
8 | struct spi
|
9 | {
|
10 | struct spi_raw_data RX;
|
11 | struct spi_raw_data TX;
|
12 | };
|
in der dazugehörigen main.c mach ich mir nen feld von den structs:
1 | struct spi data_field[10];
|
2 | static struct spi_raw_data tx_test[] =
|
3 | {
|
4 | {0xF00F, 0x5050, 0xC0F3},
|
5 | {0xCF03, 0x5555, 0x0550},
|
6 | {0xF00F, 0x5050, 0xC0F3}
|
7 | };
|
in der main.h habe ich noch folgendes stehen:
1 | extern struct spi data_field[10];
|
so das geht, jetzt hab ich mir ne funktion gebaut (in spi.c), die
tx_test nach data_field.TX kopieren soll
1 | void copy_data(struct spi_raw_data* tx)
|
2 | {
|
3 | char loop = 0;
|
4 |
|
5 | used_data = sizeof(tx);
|
6 |
|
7 | for(loop = 0; loop <= used_data; loop++)
|
8 | {
|
9 | data_field[loop].TX = tx[loop];
|
10 | }
|
11 | return;
|
12 | }
|
so und nun krachts...... CCE sagt mir folgendes:
expression must be a pointer to a complete object type spi spi_drv.c
ich versteh nur bahnhof...... was mach ich falsch?
Danke und Gruß
Marcel