...Code: [Selecteer]void foobar(){ const int x = 5; x++; Serial.println(x); // 6,7,....16}Als je deze functie in je programma 10x aanroept, dan heeft x een waarde van 16. ...
void foobar(){ const int x = 5; x++; Serial.println(x); // 6,7,....16}
Als ik dit allemaal probeer te lezen, vergaat mij bij voorbaat al de pret met Arduino.
Ik vind het opvallend dat je eigenlijk nu pas met variabelen komt.
C is niet zo strikt, daarom vind ik het ook geen prettige programmeertaal.
Ik heb ff gecheckt met arduino, maar je kan een defined waarde ook geen waarde toewijzen. Als je doet #define x 5 en later x = 7; dan krijg je ook een compiler fout. Dus daarvoor maakt het niet uit wat je kiest.
Maar dan alsnog. Als je gewoon de syntax aanhoudt en hoofdletters gebruikt voor constantes dan zou je zeggen dat het bijna niet mis kan gaan.
Ik had nog iets geprobeerd en daarmee een argument gevonden om geen const te gebruiken. Wat zonder fouten compileert is de volgende code. Een lokale variabele, const of geen const, kan dezelfde naam hebben als een globale variabele.
int x = 5;void setup(){ char x = 'a'; x = 'b'; // kan gewoon ::x = 5; //voor de global}
Ik heb nog een 2e argument om geen const te gebruiken.In C++ weet ik het niet, maar bij ansi C heeft const bij lokaal gebruik in een functie body een compleet andere functie dan als een globale variabele.
Voor we verder werken[...]
In je tabel gebruik je een punt (.) voor scheiding van duizendtallen. Áls je die scheiding al wil aangeven moet dat met een komma (,) of een spatie.
if(millis() - previousMillis >= Interval){ previousMillis += Interval; //of previousMillis = millis(); //beide hebben voor en nadelen}