This page is also available in 3 other languages

pulseIn()

[Advanced I/O]

설명

핀에서 펄스(HIGH 또는 LOW)를 읽습니다. 예를 들어, valueHIGH 이면, pulseIn() 은 핀이 HIGH` 가 될 때까지 기다리고, 타이머를 시작하고, 핀이 LOW 가 될 때까지 기다리고 타이머를 멈춥니다. 펄스의 길이를 마이크로초 단위로 반환합니다. 정해진 timeout 안에 펄스가 시작되지 않으면 0을 반환합니다. 이 함수의 타이머는 경험적으로 결정되고, 긴 펄스에 대해 오류를 낼 수도 있습니다. 10 마이크로초부터 3분까지의 길이의 펄스에 대해 동작합니다.

문법

pulseIn(pin, value)

pulseIn(pin, value, timeout)

매개변수

pin: 펄스를 읽을 핀 번호. (int)

value: 읽을 펄스의 유형: HIGH 또는 LOW. (int)

timeout (옵션): 펄스 시작을 기다릴 시간 (마이크로초 단위). 기본값은 1초 (unsigned long)

반환

펄스의 길이 (마이크로초 단위) 또는 0 (timeout이 지날 때까지 펄스가 시작하지 않으면) (unsigned long)

예제 코드

이 예제는 7번 핀에 들어오는 펄스의 지속시간을 계산합니다.

int pin = 7;
unsigned long duration;

void setup() {
  pinMode(pin, INPUT);
}

void loop() {
  duration = pulseIn(pin, HIGH);
}

See also