首页 > 代码库 > 【Espruino】NO.06 按键是你的仆人(续)

【Espruino】NO.06 按键是你的仆人(续)

http://blog.csdn.net/qwert1213131/article/details/27834551

本文属于个人理解,能力有限,纰漏在所难免,还望指正!

【小鱼有点电】

这几天一直在等新板子到来,终于不用凑活了,焊接好测试完,一切顺利,可以继续对上一节关于按键部分内容的补齐了。
本节引入一个关键函数:
function setWatch(function,pin,options)
功能描述如下:根据指定引脚pin的的变化情况执行指定功能,options部分可以选择执行次数以及配置何种边沿触发。如{repeat:true/false(default),edge:‘rising‘/‘falling‘/‘both‘(default),debounce:10},debounce主要用于去抖。下图中的按键按下的状态,会有些许电平波动,可能就会检测到多次按键按下,产生误差。

示例如下:
//加入10ms去抖,按下按键改变led状态,上升沿检测按键按下
function toggle() {
  l = !l;
  digitalWrite(LED1,l);
}
setWatch(toggle,BTN1,{repeat:true,edge:'rising',debounce:10});
                                                                                                                                                             视频
//没有去抖,按下按键改变led状态,上升沿检测按键按下
function toggle() {
  l = !l;
  digitalWrite(LED1,l);
}
setWatch(toggle,BTN1,{repeat:true,edge:'rising'});
这两段代码的效果大家可以验证下,或者调节debounce的时间看看大笑顶顶更健康额