Konstanten für Flash in einer Schleife während Kompilierens

Darauf habe ich mich bezogen:

gregorss:
Zwei Zusatzfragen von mir: Sind Schleifenkonstrukte in Form von Präprozessorbefehlen tatsächlich erst seit C++14 standardmäßig möglich? Wieso hat man eine derart allgemeine Sache nicht schon viel früher möglich gemacht?

DrDiettrich:
Darauf habe ich mich bezogen:

Ahja.

Dann verstehe ich Deine Frage nicht. Die Schleifenkonstrukte können im Grunde beliebig aussehen. Wichtig ist nur das Gitterkreuz am Anfang. Ob das dann sprachlich/syntaktisch aussieht wie Basic oder C ist eigentlich egal. Oder meinst Du mit Deiner Frage etwas Anderes?

Gruß

Gregor

gregorss:
Dann verstehe ich Deine Frage nicht. Die Schleifenkonstrukte können im Grunde beliebig aussehen. Wichtig ist nur das Gitterkreuz am Anfang. Ob das dann sprachlich/syntaktisch aussieht wie Basic oder C ist eigentlich egal.

Anscheinend bist Du auf dem völlig falschen Dampfer. Sieh Dir das Beispiel in #18 an, das paßt überhaupt nicht zu dem, was Du schreibst.

Gib ein Beispiel zu dem, was Du meinst, oder gib Ruhe.

DrDiettrich:
Anscheinend bist Du auf dem völlig falschen Dampfer. Sieh Dir das Beispiel in #18 an, das paßt überhaupt nicht zu dem, was Du schreibst.

Wo zur Hölle siehst Du in #18 ein Beispiel?!

DrDiettrich:
Gib ein Beispiel zu dem, was Du meinst, oder gib Ruhe.

Drück Dich bitte verständlich aus.

Gruß

Gregor

Sorry, ist #15.

DrDiettrich:
Sorry, ist #15.

Inwiefern das Beispiel, das Serenifly bringt, nicht zu dem passt, was ich schreibe, ist mir nicht klar.

Wenn Du mir das nicht klar machen möchtest, macht das nichts. Und wenn Dir nicht gefällt, was ich schreibe, ignoriere es einfach.

Gruß

Gregor

In dem Beispiel kommen keinerlei Präprozessor-Anweisungen vor, also auch kein '#'. Das "constdef" ist eine Compiler-Anweisung.

Nur darauf wollte ich Dich aufmerksam machen. Lies einfach nochmal alles in Ruhe durch.

Und mit dem Präprozessor und # kannst du keine so komplexen Dinge berechnen. Grundrechenarten ja, aber viel mehr nicht.

DrDiettrich:
In dem Beispiel kommen keinerlei Präprozessor-Anweisungen vor, also auch kein '#'. Das "constdef" ist eine Compiler-Anweisung.
Nur darauf wollte ich Dich aufmerksam machen. Lies einfach nochmal alles in Ruhe durch.

Oh. Dann haben wir uns wohl falsch verstanden. Zumindest ich habe nicht verstanden, worauf Du hinaus willst.

Gruß

Gregor

OK Leute, RUHE JETZT ^^

Ich habe das im Setup-Teil nun so gelöst:

#define prt Serial.print
#define prtln Serial.println

#define Pi 3.14159265359
const float rad=Pi/1800;

void setup(){
  Serial.begin(2500000);
  while(!Serial);

  for(int n=0;n<=900;n++){
    prt(sin(rad*(n))*32768*4,0);prt(",");
    if(!((n+1)%50))prtln();
  }
  while(1);

}

Das erzeugt mir eine schön formatierte Liste wie diese hier:

0,229,458,686,915,1144,1373,1601,1830,2059,2288,2516,2745,2974,3202,3431,3660,3888,4117,4346,4574,4803,5032,5260,5489,5717,5946,6174,6403,6631,6860,7088,7317,7545,7773,8002,8230,8458,8687,8915,9143,9371,9599,9828,10056,10284,10512,10740,10968,11196,
11424,11652,11879,12107,12335,12563,12790,13018,13246,13473,13701,13928,14156,14383,14610,14838,15065,15292,15519,15747,15974,16201,16428,16655,16881,17108,17335,17562,17789,18015,18242,18468,18695,18921,19147,19374,19600,19826,20052,20278,20504,20730,20956,21182,21407,21633,21859,22084,22310,22535,
22760,22986,23211,23436,23661,23886,24111,24336,24560,24785,25010,25234,25459,25683,25907,26132,26356,26580,26804,27028,27251,27475,27699,27922,28146,28369,28592,28816,29039,29262,29485,29708,29930,30153,30376,30598,30821,31043,31265,31487,31709,31931,32153,32375,32596,32818,33039,33261,33482,33703,
33924,34145,34366,34586,34807,35027,35248,35468,35688,35908,36128,36348,36568,36788,37007,37226,37446,37665,37884,38103,38322,38540,38759,38978,39196,39414,39632,39850,40068,40286,40503,40721,40938,41156,41373,41590,41807,42023,42240,42457,42673,42889,43105,43321,43537,43753,43968,44184,44399,44614,
44829,45044,45259,45474,45688,45902,46117,46331,46545,46758,46972,47186,47399,47612,47825,48038,48251,48463,48676,48888,49100,49312,49524,49736,49948,50159,50370,50581,50792,51003,51214,51424,51635,51845,52055,52265,52475,52684,52893,53103,53312,53521,53729,53938,54146,54355,54563,54771,54978,55186,
55393,55601,55808,56015,56221,56428,56634,56841,57047,57252,57458,57664,57869,58074,58279,58484,58689,58893,59097,59302,59505,59709,59913,60116,60319,60522,60725,60928,61130,61332,61535,61736,61938,62140,62341,62542,62743,62944,63144,63345,63545,63745,63945,64144,64344,64543,64742,64941,65139,65338,
65536,65734,65932,66129,66327,66524,66721,66918,67114,67311,67507,67703,67899,68094,68290,68485,68680,68875,69069,69263,69458,69651,69845,70039,70232,70425,70618,70810,71003,71195,71387,71579,71770,71962,72153,72343,72534,72725,72915,73105,73295,73484,73673,73862,74051,74240,74428,74617,74805,74992,
75180,75367,75554,75741,75928,76114,76300,76486,76672,76857,77042,77227,77412,77596,77781,77965,78148,78332,78515,78698,78881,79064,79246,79428,79610,79792,79973,80154,80335,80516,80696,80876,81056,81236,81415,81594,81773,81952,82130,82308,82486,82664,82841,83019,83195,83372,83548,83725,83900,84076,
84251,84427,84601,84776,84950,85124,85298,85472,85645,85818,85991,86163,86336,86508,86679,86851,87022,87193,87364,87534,87704,87874,88044,88213,88382,88551,88719,88888,89056,89223,89391,89558,89725,89892,90058,90224,90390,90555,90721,90886,91050,91215,91379,91543,91706,91870,92033,92195,92358,92520,
92682,92844,93005,93166,93327,93487,93647,93807,93967,94126,94285,94444,94603,94761,94919,95076,95234,95391,95547,95704,95860,96016,96171,96327,96482,96636,96791,96945,97099,97252,97405,97558,97711,97863,98015,98167,98319,98470,98621,98771,98921,99071,99221,99370,99519,99668,99816,99964,100112,100260,
100407,100554,100700,100847,100993,101138,101284,101429,101574,101718,101862,102006,102149,102293,102435,102578,102720,102862,103004,103145,103286,103427,103567,103707,103847,103986,104126,104264,104403,104541,104679,104816,104953,105090,105227,105363,105499,105635,105770,105905,106039,106174,106308,106441,106575,106708,106840,106973,107105,107237,
107368,107499,107630,107760,107890,108020,108149,108278,108407,108536,108664,108791,108919,109046,109173,109299,109425,109551,109676,109801,109926,110051,110175,110299,110422,110545,110668,110790,110912,111034,111155,111276,111397,111518,111638,111757,111877,111996,112114,112233,112351,112468,112586,112703,112819,112935,113051,113167,113282,113397,
113512,113626,113740,113853,113966,114079,114192,114304,114416,114527,114638,114749,114859,114969,115079,115188,115297,115406,115514,115622,115730,115837,115944,116050,116156,116262,116368,116473,116578,116682,116786,116890,116993,117096,117199,117301,117403,117504,117605,117706,117807,117907,118007,118106,118205,118304,118402,118500,118597,118695,
118792,118888,118984,119080,119175,119270,119365,119459,119553,119647,119740,119833,119926,120018,120110,120201,120292,120383,120473,120563,120652,120742,120830,120919,121007,121095,121182,121269,121356,121442,121528,121613,121698,121783,121868,121952,122035,122119,122202,122284,122366,122448,122529,122611,122691,122771,122851,122931,123010,123089,
123167,123245,123323,123400,123477,123554,123630,123706,123781,123856,123931,124005,124079,124153,124226,124299,124371,124443,124515,124586,124657,124727,124798,124867,124937,125006,125074,125142,125210,125278,125345,125411,125478,125544,125609,125674,125739,125804,125868,125931,125994,126057,126120,126182,126244,126305,126366,126426,126487,126546,
126606,126665,126723,126782,126840,126897,126954,127011,127067,127123,127179,127234,127289,127343,127397,127450,127504,127557,127609,127661,127713,127764,127815,127865,127915,127965,128014,128063,128112,128160,128208,128255,128302,128349,128395,128441,128486,128531,128576,128620,128664,128707,128750,128793,128835,128877,128919,128960,129000,129041,
129081,129120,129159,129198,129236,129274,129312,129349,129386,129422,129458,129494,129529,129564,129598,129632,129666,129699,129732,129764,129796,129828,129859,129890,129921,129951,129980,130010,130038,130067,130095,130123,130150,130177,130203,130229,130255,130280,130305,130330,130354,130378,130401,130424,130446,130469,130490,130512,130533,130553,
130573,130593,130612,130631,130650,130668,130686,130703,130720,130737,130753,130768,130784,130799,130813,130828,130841,130855,130868,130880,130892,130904,130916,130926,130937,130947,130957,130966,130975,130984,130992,131000,131007,131014,131021,131027,131033,131038,131043,131048,131052,131056,131059,131062,131065,131067,131069,131070,131071,131072,
131072,

Diese markiert und in den Quelltext damit, fertig.
Geht halt nicht anders.
Anfangs hatte ich halt angefangen das Array mit {sin(rad*0)32768,sin(rad1)*32768, ... aufzubauen. Der Compiler hätte es anscheinend gefressen aber nach dem 300ten Eintrag hatte ich dann doch keinen Bock mehr auf die restlichen 600 Einträge und ich dachte mir, das müsste doch der Compiler übernehmen können.
Mach ma halt nen Umweg über den seriellen Monitor ^^

Jedenfalls, danke für eure Unterstützung

MfG
Andi