當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Arduino pulseIn()用法及代碼示例

[高級輸入/輸出]

說明

讀取引腳上的脈衝(HIGHLOW)。例如,如果 valueHIGH ,則 pulseIn() 等待引腳從 LOW 變為 HIGH ,開始計時,然後等待引腳變為 LOW 並停止計時。返回脈衝的長度(以微秒為單位),如果在超時時間內沒有收到完整的脈衝,則放棄並返回 0。

此函數的時間已根據經驗確定,並且可能會在較長的脈衝中顯示錯誤。適用於長度為 10 微秒到 3 分鍾的脈衝。

Note
如果使用可選超時,代碼將執行得更快。

用法

pulseIn(pin, value)
pulseIn(pin, value, timeout)

參數

pin:要讀取脈衝的 Arduino 引腳的編號。允許的數據類型:int.
value:要讀取的脈衝類型:或者HIGH或者LOW.允許的數據類型:int.
timeout(可選):等待脈衝開始的微秒數;默認為一秒。允許的數據類型:unsigned long.

返回

脈衝的長度(以微秒為單位)或 0 如果在超時之前沒有開始脈衝。數據類型:unsigned long

示例代碼

該示例在引腳 7 上打印脈衝的持續時間。

int pin = 7;
unsigned long duration;

void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT);
}

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

相關用法


注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 pulseIn()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。