Arduino루프 중지

Ammar Ali 2023년10월12일
  1. Sleep_n0m1라이브러리를 사용하여void loop()중지
  2. exit(0)사용하여void loop()중지
  3. 무한 루프를 사용하여void loop()중지
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가 무한 루프에 들어가면 재설정 할 때까지 반환되지 않으므로 코드 작성을 마친 후에는무한 루프를 사용해야합니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook