按键去抖动

  // 读取按键状态赋值到一个变量
  int reading = digitalRead(buttonPin);
 

  // 如果按键状态变化,不过是由于抖动还是按键按下造成的
  // 下面的程序都需要进行这一步处理
  if (reading != lastButtonState) {
    // 复位去抖时间,就是把当前时间保存下来
    lastDebounceTime = millis();
  } 
  
  if ((millis() - lastDebounceTime) > debounceDelay) {
    // 等过了去抖时间,再次去检测按键的状态
    if (reading != buttonState) {
      buttonState = reading;

      // 如果按键仍然保持上次的状态,我们认为这个按键按下是真实有效的
      // 每次按下按键需要改变当前的led状态,比如上次是熄灭,现在需要
      // 点亮,反之亦然。
      if (buttonState == HIGH) {
        ledState = !ledState;
      }
    }
  }arduino

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值