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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.