setDigitalFilter()
描述
开启 A、B、Z 针脚的数位滤波功能,可用于滤除指定宽度以下的杂讯。
注意:在 PWM 脉波捕捉模式下,此函式只能在呼叫 Encoder 函式库内的 attachInterrupt() 和 pulseIn()、pulseInNanoseconds 前使用。
语法
Enc0.setDigitalFilter(val)
Enc1.setDigitalFilter(val)
Enc2.setDigitalFilter(val)
Enc3.setDigitalFilter(val)
参数
Enc0、Enc1、Enc2、Enc3:分别对应 ENC0、ENC1、ENC2、ENC3 编码器介面。
val:要滤除的杂讯最大宽度。(unsigned long 型别,单位:10 ns)
回传
无回传值
范例
#include <Encoder.h>
void setup() {
Serial.begin(9600);
Enc0.begin(MODE_AB_PHASE);
Enc0.setDigitalFilter(20L); // 滤除 200ns 以下的杂讯
}
void loop() {
Serial.println(Enc0.read());
delay(100);
}
See also
The text of the 86Duino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.
