아두이노 마이크로 초 딜레이 함수, delayMicroseconds ()

아두이노에서 마이크로 초 단위의 delay를 수행하는 delayMicroseconds()에 대해 알아보겠습니다.

 

정의

 

매개 변수로 지정된 시간 (마이크로 초) 동안 프로그램을 일시 정지합니다. 밀리 초에는 천 마이크로 초가 있고 1 초에는 백만 마이크로 초가 있습니다.

현재 정확한 지연을 생성 할 수있는 가장 큰 값은 16383입니다. 이는 향후 Arduino 릴리스에서 변경 될 수 있습니다. 수천 마이크로 초보다 긴 지연의 경우 delay()대신 사용해야 합니다.

 

delayMicroseconds(us)

 

 

매개 변수

 

us: 일시 정지 할 마이크로 초 수입니다. 허용되는 데이터 유형 : unsigned int.

 

예제 코드

 

이 코드는 핀 번호 8을 출력 핀으로 작동하도록 구성합니다. 약 100 마이크로 초의 펄스 트레인을 보냅니다. 근사치는 코드에서 다른 명령어의 실행으로 인한 것입니다.

1
2
3
4
5
6
7
8
9
10
11
12
int outPin = 8;               // digital pin 8
 
void setup() {
  pinMode(outPin, OUTPUT);    // sets the digital pin as output
}
 
void loop() {
  digitalWrite(outPin, HIGH); // sets the pin on
  delayMicroseconds(50);      // pauses for 50 microseconds
  digitalWrite(outPin, LOW);  // sets the pin off
  delayMicroseconds(50);      // pauses for 50 microseconds
}
 

 

참고

 

이 기능은 3 마이크로 초 이상에서 매우 정확하게 작동합니다. 더 작은 지연 시간에 대해서는 delayMicroseconds가 정확하게 수행 될 것이라고 보장 할 수 없습니다.

Arduino 0018부터 delayMicroseconds ()는 더 이상 인터럽트를 비활성화하지 않습니다.

댓글()