static
Das static-Keywort ermöglicht es, dass Variablen nur für eine Funktion sichtbar sind. Anders als lokale Variablen, die bei jedem Funktionsaufruf neu belegt werden, behalten statische Variablen deren Wert über das Funktionsende hinaus bei.
Statische Variablen werden nur einmal erstellt, wenn die Funktion das erste Mal aufgerufen wird.
Der Code wandert zufällig zwischen 2 Endpunkten umher.
#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;
int thisTime;
int total;
void setup() {
Serial.begin(9600);
}
void loop() {
stepsize = 5;
thisTime = randomWalk(stepsize);
Serial.println(thisTime);
delay(10);
}
int randomWalk(int moveSize) {
static int place;
place = place + (random(-moveSize, moveSize + 1));
if (place < randomWalkLowRange) {
place = randomWalkLowRange + (randomWalkLowRange - place);
}
else if(place > randomWalkHighRange) {
place = randomWalkHighRange - (place - randomWalkHighRange);
}
return place;
}
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.