delay()

설명

매개변수에 정한 시간(밀리 초) 동안 프로그램 멈춤. (1초는 1000 밀리 초)

문법

delay(ms)

매개변수

  • ms: 멈출 밀리 초 (unsigned long)

반환값

  • 없음

예제 코드

이 코드는 출력 핀을 토글하기 전에 프로그램을 1초 멈춤

int ledPin = 13; // LED 연결 디지털 핀 13 void setup() { pinMode(ledPin, OUTPUT); // 디지털 핀을 출력으로 } void loop() { digitalWrite(ledPin, HIGH); // LED 켬 delay(1000); // 1초 기다림 digitalWrite(ledPin, LOW); // LED 끔 delay(1000); // 1초 기다림 }

※ 주의 및 경고:

  • delay() 함수로 깜빡이는 LED 를 만들기 쉽고, 많은 스케치가 짧은 delay를 써서 그런 작업을 switch debouncing로 하지만, 스케치에서 delay() 를 쓰는 것은 눈에 띄는 단점이 있다. delay 함수 동안 센서 읽기, 수학 계산, 핀 다루기가 중단되므로, 결과적으로, 거의 모든 다른 작업이 멈춘다. 시간을 제어하는 다른 접근으로 아래에 있는 millis() 함수와 스케치를 보세요. 좀더 똑똑한 프로그래머는 delay() 를 10 밀리초보다 긴 타이밍 이벤트를 아두이노 스케치가 아주 간단한 경우가 아니면 대개 사용하지 않는다.
  • 그러나, 어떤 것은 delay() 함수가 Atmega 칩을 제어하는 동안에도 이루어지는데, 왜냐면 delay 함수가 인터럽트를 비활성화 하지 않기 때문이다. RX에서 나타나는 시리얼 통신은 기록되고, PWM (analogWrite) 값과 핀 상태가 유지되며, interrupts 은 정상으로 동작한다.

더보기

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES