Pregunta: ¿Dónde pongo el código si quiero que se ejecute solo una vez por inicio de Arduino?
Antecedentes: tiendo a usar mi Arduino para realizar tareas que deberían ejecutarse una vez por ciclo de encendido. (Por ejemplo, mi robot solo debe avanzar una vez cada vez que lo enciendo, más que eso, y podría caerse de la mesa).
La "plantilla" estándar de Arduino IDE consta de una loop()
y una setup()
función. El setup
código se ejecuta una vez por ciclo de encendido y loop
se reinicia cada vez que finaliza.
Veo dos enfoques para codificar "tareas de 1 vez:"
Método 1: "bucle una vez"
void setup() {
//do setup stuff
}
void loop() {
//do task
while(1) ; //Repeat forever, preventing function from re-starting
}
Método 2: "solo configuración"
void setup() {
//do setup stuff
//do task
}
void loop() {
//do nothing
}
Forma de pregunta más detallada: ¿Es uno de estos métodos "mejor" desde el punto de vista del hardware / software? (por ejemplo, ¿hay algo "especial" en la setup
función, como si solo pudiera ejecutarse durante tanto tiempo?)
Y, si son iguales desde una perspectiva de hardware / software, ¿existe una "mejor práctica" o una forma estándar de escribir código para estas situaciones en la comunidad Arduino?
exit
discute el uso del comando en arduino.stackexchange.com/questions/188/…