zoukankan      html  css  js  c++  java
  • Arduino不使用Delay的定时(灯闪烁)

    看到一篇关于Arduino不使用Delay的定时灯闪烁。主要是millis()方法,这个用法非常强大,很多时候需要使用,也不用担心溢出。

     
     
    // constants won't change. Used here to set a pin number:
    const int ledPin =  LED_BUILTIN;// the number of the LED pin
     
    // Variables will change:
    int ledState = LOW;             // ledState used to set the LED
     
    // Generally, you should use "unsigned long" for variables that hold time
    // The value will quickly become too large for an int to store
    unsigned long previousMillis = 0;        // will store last time LED was updated
     
    // constants won't change:
    const long interval = 1000;           // interval at which to blink (milliseconds)
     
    void setup() {
      // set the digital pin as output:
      pinMode(ledPin, OUTPUT);
    }
     
    void loop() {
      // here is where you'd put code that needs to be running all the time.
     
      // check to see if it's time to blink the LED; that is, if the difference
      // between the current time and last time you blinked the LED is bigger than
      // the interval at which you want to blink the LED.
      unsigned long currentMillis = millis();
     
      if (currentMillis - previousMillis >= interval) {
        // save the last time you blinked the LED
        previousMillis = currentMillis;
     
        // if the LED is off turn it on and vice-versa:
        if (ledState == LOW) {
          ledState = HIGH;
        } else {
          ledState = LOW;
        }
     
        // set the LED with the ledState of the variable:
        digitalWrite(ledPin, ledState);
      }
    }
  • 相关阅读:
    leetcode 68 Text Justification
    了解HTTP协议
    对编码的一点理解
    极简WebSocket聊天室
    统一响应数据的封装
    BitMap
    SPI机制
    Holder类
    Java的标签
    二叉树的非递归遍历
  • 原文地址:https://www.cnblogs.com/qiuya/p/10853292.html
Copyright © 2011-2022 走看看