아두이노 딜레이 함수, delay ()

아두이노의 딜레이 함수인 delay()에 대해 알아보겠습니다.

 

정의

 

매개 변수로 지정된 시간 (밀리 초) 동안 프로그램을 일시 정지합니다. (초당 1000 밀리 초가 있습니다.)

delay(ms)

 

매개 변수

 

ms: 일시 정지 할 시간 (밀리 초)입니다. 허용되는 데이터 유형 : unsigned long.

 

예제 코드

 

코드는 출력 핀을 토글하기 전에 1 초 동안 프로그램을 일시 정지시킵니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
int ledPin = 13;              // LED connected to digital pin 13
 
void setup() {
  pinMode(ledPin, OUTPUT);    // sets the digital pin as output
}
 
void loop() {
  digitalWrite(ledPin, HIGH); // sets the LED on
  delay(1000);                // waits for a second
  digitalWrite(ledPin, LOW);  // sets the LED off
  delay(1000);                // waits for a second
}
 

 

참고

 delay()기능 으로 깜박이는 LED를 쉽게 생성 할 수 있고 많은 스케치가 스위치 디 바운싱과 같은 작업에 짧은 지연을 사용하지만 스케치에서 사용하면 delay()상당한 단점이 있습니다. 지연 기능 중에는 센서, 수학적 계산 또는 핀 조작에 대한 다른 판독 값이 진행될 수 없으므로 사실상 대부분의 다른 활동이 중단됩니다. 타이밍 제어에 대한 대체 방법 은 충분한 시간이 경과 할 때까지 millis () 함수를 폴링하는 Blink Without Delay 스케치를 참조하십시오 . 더 많은 지식을 갖춘 프로그래머 는 Arduino 스케치가 매우 단순하지 않은 한 일반적으로 10 밀리 초보다 긴 이벤트 타이밍을 사용 하지 않습니다.delay()

delay () 함수가 Atmega 칩을 제어하는 ​​동안 특정 상황이 발생하지만 지연 함수는 인터럽트를 비활성화하지 않기 때문입니다. RX 핀에 나타나는 직렬 통신이 기록되고 PWM 값과 핀 상태가 유지되며 인터럽트가 정상적으로 작동합니다.

댓글()