Energia MSP430 Zweidimensionale Array`s?

OP #4300384
Lesenswert?

Hi Leute,
ich versuche gerade ein zweidimensionales array in dem Energia für einen 
MSP430G2553 zu erstellen. Aber Energia zickt rum..
"..._4.cpp:13:42: error: too many initializers for 'int [8][10]'"

Kann es sein das Enegia zweidimensionale array`s nicht unterstützt?
#4300385
Lesenswert?

Markus G. schrieb:
> Hi Leute,
> ich versuche gerade ein zweidimensionales array in dem Energia für einen
> MSP430G2553 zu erstellen. Aber Energia zickt rum..
> "..._4.cpp:13:42: error: too many initializers for 'int [8][10]'"
>
> Kann es sein das Enegia zweidimensionale array`s nicht unterstützt?

Kann ich mir nicht vorstellen. Mehrdimensionale Arrays sind für einen C 
Compiler eine leichte Übung. Zumal es sie eigentlich gar nicht gibt und 
nur durch syntaktischen Zucker im Arrayhandling abgearbeitet werden.

Vielleicht hast du dich auch einfach nur verzählt oder die Syntax zur 
Initialisierung nicht eingehalten?
OP #4300412
Lesenswert?

Eigentlich nur diese 5 :

int shiftPin = P2_0; //Pin verbunden mit SH_CP des 74HC595
int storePin = P2_1; //Pin verbunden mit ST_CP des 74HC595
int dataPin= P2_2; //Pin verbunden mit DS des 74HC595

int j = 0;

int muster [8][10] ={   {0,0,0,0,0,0,0,1},
                        {0,0,0,0,0,0,1,0},
                        {0,0,0,0,0,0,1,1},
                        {0,0,0,0,0,1,0,0},
                        {0,0,0,0,0,1,0,1},
                        {0,0,0,0,0,1,1,0},
                        {0,0,0,0,0,1,1,1},
                        {0,0,0,0,1,0,0,0},
                        {0,0,0,0,1,0,0,1},
                        {0,0,0,0,1,0,1,0}};

+ einen in ner for-Schleife
Gast #4300419
Lesenswert?

Noch einfacher ausgedrückt, deklariert Du "muster" mit 8 Zeilen zu je 10 
Spalten, initialisierst dann aber mehr als 8 Zeilen. (Das Du nur 8 von 
den 10 Spalten initialisierst, ist dem gcc egal, das fällt erst dem 
Misra-Validator auf.)
#4300428
Lesenswert?

@ Markus Gillhoff (Firma: Fahrzeugelektronik) (hulk85)
1
int muster [8][10] ={   {0,0,0,0,0,0,0,1},
2
                        {0,0,0,0,0,0,1,0},
3
                        {0,0,0,0,0,0,1,1},
4
                        {0,0,0,0,0,1,0,0},
5
                        {0,0,0,0,0,1,0,1},
6
                        {0,0,0,0,0,1,1,0},
7
                        {0,0,0,0,0,1,1,1},
8
                        {0,0,0,0,1,0,0,0},
9
                        {0,0,0,0,1,0,0,1},
10
                        {0,0,0,0,1,0,1,0}};

Falsch. Du definierst ein 8x10 Array, also musst du 8 Einzelarray a 10 
Elementen bereitstellen. Oder deine Definition auf [10][8] ändern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren