error: expected initializer before (Læst 4328x)

Offline gsborn

  • Spændingsdeler
  • ****
  • Indlæg: 50
  • Antal brugbare Indlæg: 7
  • nybegynder + Gør tingene for sjov, interesse, leg
    • Vis profil
error: expected initializer before
« Dato: November 06, 2015, 19:42:18 »
Hej,
et programm som jeg vil kompiler giver følgende fejl ud :
AlignmentStars.h:16:21: error: expected initializer before ‘alignmentStars’
 const alignmentStar alignmentStars[] PROGMEM = {
                                  ^

del af programmet :
Kode:
typedef struct alignmentStar {
  float ra;
  float dec;
  String name;
  float vmag;
 }

const alignmentStar alignmentStars[] PROGMEM = {
  {"Sirius",   1.76779309390854, -0.291751177018097, -1.46}
  {"Canopus",  1.67530518796327, -0.919715793748845, -0.72}
  {"Arcturus", 3.73352834160889,  0.334797783763812, -0.04}



Komplet programmet har jeg vedhæftet, det er fra en som hedder Casey Fulton.
Orginal kan findes på Github : https://github.com/caseyfw/Stellarduino
Og der er der flere fejl i som jeg fik rettet, men kan ikke finde ud af den sidste.

Med venlig hilsen
nybegynder +
Gør tingene for sjov, interesse, leg
Mine svar er kun ud fra min egen videnstand som begynder og google.

 

Offline gerd

  • Administrator
  • µProcessoren
  • *****
  • Indlæg: 915
  • Antal brugbare Indlæg: 97
    • Vis profil
    • Hjemmeside med nogle af mine projekter
Sv: error: expected initializer before
« Svar #1 Dato: November 07, 2015, 08:02:25 »
Hvilken Arduino har du?
Prøv det uden PROGMEN.

Kode:
const alignmentStar alignmentStars[]= {

gerd

 

Offline gsborn

  • Spændingsdeler
  • ****
  • Indlæg: 50
  • Antal brugbare Indlæg: 7
  • nybegynder + Gør tingene for sjov, interesse, leg
    • Vis profil
Sv: error: expected initializer before
« Svar #2 Dato: November 07, 2015, 18:22:01 »
Jeg bruger til programmet en Mega2560.
Efter har læst en del om Progmem og array, har jeg også fundet udaf  at ved filen AlignmentStars.h manglede kommaer efter de enkelte elementer i arrays og at rækkefølgen også har noget at sige ved "typedef struct", så at hvis jeg sætter  "String Name" på plads 3 så forventer kompiler også en "String Name" der og ikke på første plads.

Så nu få jeg ikke flere error på grund af AlignmentStars.h, vedhæfter min revidert fil.

Men når jeg så sætter det in i programmet "Stellarduino_test3.ino" , er også vedhæftet,
så få jeg denne error meddelse

Stellarduino_test3.ino:34:1: error: expected ‘,’ or ‘;’ before ‘int’

Hvad er så det ? Syns ikke at jeg har overset en manglede tegn.

Nogle ideer ?

Her har jeg en del af min viden fra : http://arduino.stackexchange.com/questions/13545/using-progmem-to-store-array-of-structs

Med venlig hilsen

Gregor
nybegynder +
Gør tingene for sjov, interesse, leg
Mine svar er kun ud fra min egen videnstand som begynder og google.

 

Offline gerd

  • Administrator
  • µProcessoren
  • *****
  • Indlæg: 915
  • Antal brugbare Indlæg: 97
    • Vis profil
    • Hjemmeside med nogle af mine projekter
Sv: error: expected initializer before
« Svar #3 Dato: November 08, 2015, 08:19:11 »
Herj Gregor,
der mangler en ";" ved slutningen af AlignmentStart.h

Kode:
  {"Deneb K",  0.19018271082565,  0.924791792990062},
};

gerd

 

Offline gsborn

  • Spændingsdeler
  • ****
  • Indlæg: 50
  • Antal brugbare Indlæg: 7
  • nybegynder + Gør tingene for sjov, interesse, leg
    • Vis profil
Sv: error: expected initializer before
« Svar #4 Dato: November 08, 2015, 09:18:14 »
Hej Gerd,
tak for det.
Det var det ikke lige der jeg troede at jeg har glemt en " ;  ".
Men den kompilier fint nu.
Nu skal jeg finde udaf hvordan jeg kan vælge med en button hvilken stjerne jeg vil bruge til bergning.
Nok i den retning  LCD Menu Up / Down = http://elektronik-forum.dk/index.php?topic=1148.msg6450;topicseen#new

Med venlig hilsen
Gregor
nybegynder +
Gør tingene for sjov, interesse, leg
Mine svar er kun ud fra min egen videnstand som begynder og google.