static
La palabra clave static se usa para crear variables que solo son visibles dentro de una función. Sin embargo a diferencia de las variables locales que se crean y destruyen cada vez que se invoca una función, las variables estatic persisten más allá de la llamada a la función, preservan sus datos entre llamadas a funciones.
Las variables declaradas como static sólo se crean e inicializan la primera vez que una función se llama.
#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;
int thisTime;
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;
}
※ ARDUINO BUY RECOMMENDATION
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.