Detener un bucle Arduino
-
Detenga el
void loop()
utilizando la bibliotecaSleep_n0m1
-
Detenga el
void loop()
conexit(0)
-
Detenga el
void loop()
utilizando un bucle infinito
Este tutorial discutirá métodos para detener un bucle en Arduino. Hay dos tipos de bucles en Arduino; uno es el void loop()
que se proporciona por defecto y el otro que el usuario crea allí propio. Los bucles creados por el usuario se pueden finalizar fácilmente utilizando el método break
. Para finalizar el void loop()
de Arduino, puede utilizar los siguientes métodos.
Detenga el void loop()
utilizando la biblioteca Sleep_n0m1
El método anterior puede funcionar para todas las placas Arduino, pero Arduino seguirá usando energía. Usando la biblioteca Sleep_n0m1
, puede poner su CPU Arduino en suspensión permanente hasta que la reinicie manualmente o usando un temporizador. Tenga en cuenta que esto puede no funcionar para todas las placas Arduino.
#include <Sleep_n0m1.h>
Sleep sleep;
unsigned long sleepTime; // how long you want the Arduino to sleep
void setup() {
sleepTime = 50000; // set sleep time in ms, max sleep time is 49.7 days
}
void loop() {
// Your Code
sleep.pwrDownMode(); // set sleep mode
sleep.sleepDelay(sleepTime); // sleep for: sleepTime
}
Asegúrese de utilizar la biblioteca Sleep_n0m1
después de haber terminado con su código. Este método consumirá solo un poco de energía. Utilice este enlace para obtener más detalles.
Detenga el void loop()
con exit(0)
El void loop()
de Arduino se puede finalizar usando el método exit(0)
después de su código, pero tenga en cuenta que Arduino.cc
no proporciona ningún método para finalizar este bucle, por lo que este método puede no funcionar para todas las placas Arduino.
void loop() {
// All of your code here
// exit the loop
exit(0); // 0 is required to prevent error.
}
Tenga en cuenta que después de quit(0)
, su Arduino dejará de funcionar hasta que lo reinicie manualmente. Así que asegúrese de usar este método después de que el código haya terminado su tarea.
Detenga el void loop()
utilizando un bucle infinito
Es posible que el método anterior no funcione para todas las placas Arduino, por lo que debemos usar otro método. El método de bucle infinito funcionará para todas las placas Arduino, pero Arduino permanecerá despierto y seguirá consumiendo energía. En este método, puede insertar un bucle infinito después de su código. Arduino procesará su código, ingresará un bucle infinito y permanecerá allí hasta que lo restablezca manualmente.
void loop() {
// All of your code
while (1) { // infinite loop
}
}
Si Arduino ingresa al bucle infinito, no regresará hasta que lo reinicie, así que asegúrese de usar bucle infinito
después de que haya terminado con su código.