pulseIn()
描述
读取 pin 脚上的脉冲 (高或低电位) 持续时间;举个例子,如果输入值是 HIGH,pulseIn()
会等 pin 脚上的电位变成 HIGH 之后开始计时,等到又变回 LOW 才停止;之后会回传脉冲的持续时间,单位是微秒;假如在指定的时间内没有出现任何脉冲或是脉冲长度太长,则会放弃读取并回传 0。
指定时间的长短是取决于经验的,通常在长时间的脉冲下较容易发生错误,脉冲的测量长度介于 10 毫秒到 3 分钟之间。
语法
pulseIn(pin, value)
pulseIn(pin, value, timeout)
参数
pin
: 用来读取脉冲的 pin 脚 (int)
value
: 读取的脉冲型态,HIGH 或 LOW (int)
timeout
(非必要): 设定一段时间来等待脉冲开始,预设是一秒 (unsigned long)
回传
脉冲的时间长度 (单位是微秒) 。如果在超时前没有读到脉冲的话则是回传 0 (unsigned long)。
范例
int pin = 7; unsigned long duration; void setup() { pinMode(pin, INPUT); } void loop() { duration = pulseIn(pin, HIGH); }
本页由热血青年 LBU 译自英文版。
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.