Domanda: dove inserisco il codice se voglio che venga eseguito una sola volta all'avvio di Arduino?
Background: tendo ad usare il mio Arduino per eseguire attività che dovrebbero essere eseguite una volta per ciclo di accensione. (Ad esempio, il mio robot dovrebbe avanzare solo una volta ogni volta che lo accendo - più di questo, e potrebbe cadere dal tavolo.)
Il "modello" IDE Arduino standard è costituito da una loop()e una setup()funzione. Il setupcodice viene eseguito una volta per ciclo di accensione e loopviene riavviato ogni volta che termina.
Vedo due approcci al codice "1 attività temporali:"
Metodo 1: "Ripeti una volta"
void setup() {
//do setup stuff
}
void loop() {
//do task
while(1) ; //Repeat forever, preventing function from re-starting
}
Metodo 2: "Solo installazione"
void setup() {
//do setup stuff
//do task
}
void loop() {
//do nothing
}
Domanda più dettagliata: uno di questi metodi è "migliore" dal punto di vista hardware / software? (es. c'è qualcosa di "speciale" nella setupfunzione, come può funzionare solo per così tanto tempo?)
E, se sono uguali dal punto di vista hardware / software, esiste una "best practice" o un modo standard di scrivere codice per queste situazioni nella comunità di Arduino?
exitcomando è discusso in arduino.stackexchange.com/questions/188/…