Arduino루프 중지
이 튜토리얼에서는 Arduino에서 루프를 중지하는 방법에 대해 설명합니다. Arduino에는 두 종류의 루프가 있습니다. 하나는 기본적으로 제공되는 void loop()
이고 다른 하나는 사용자가 생성 한 것입니다. 사용자가 만든 루프는 break
방법을 사용하여 쉽게 끝낼 수 있습니다. Arduino의void loop()
를 종료하려면 다음 방법을 사용할 수 있습니다.
Sleep_n0m1
라이브러리를 사용하여void loop()
중지
위의 방법은 모든 Arduino 보드에서 작동 할 수 있지만 Arduino는 계속해서 전력을 사용합니다. Sleep_n0m1
라이브러리를 사용하면 수동으로 재설정하거나 타이머를 사용할 때까지 Arduino CPU를 영구 절전 모드로 전환 할 수 있습니다. 이것은 모든 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
}
코드 작성을 마친 후Sleep_n0m1
라이브러리를 사용하십시오. 이 방법은 약간의 힘을 끌어옵니다. 자세한 내용은이 링크를 사용하십시오.
exit(0)
사용하여void loop()
중지
Arduino의void loop()
는 코드 다음에exit(0)
메소드를 사용하여 종료 할 수 있지만Arduino.cc
는이 루프를 종료하는 메소드를 제공하지 않으므로이 메소드가 작동하지 않을 수 있습니다. 모든 Arduino 보드 용.
void loop() {
// All of your code here
// exit the loop
exit(0); // 0 is required to prevent error.
}
exit(0)
후에는 Arduino를 수동으로 재설정 할 때까지 작동이 중지됩니다. 따라서 코드가 작업을 마친 후에이 메서드를 사용해야합니다.
무한 루프를 사용하여void loop()
중지
위의 방법은 모든 Arduino 보드에서 작동하지 않을 수 있으므로 다른 방법을 사용해야합니다. 무한 루프 방법은 모든 Arduino 보드에서 작동하지만 Arduino는 깨어 있고 계속해서 전력을 소비합니다. 이 방법에서는 코드 뒤에 무한 루프를 삽입 할 수 있습니다. Arduino는 코드를 처리하고 무한 루프에 들어가 수동으로 재설정 할 때까지 그대로 유지됩니다.
void loop() {
// All of your code
while (1) { // infinite loop
}
}
Arduino가 무한 루프에 들어가면 재설정 할 때까지 반환되지 않으므로 코드 작성을 마친 후에는무한 루프
를 사용해야합니다.