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);
      }
    }
  • 相关阅读:
    感触
    十道海量数据处理面试题
    jQuery横向手风琴图片滑块
    源码分享-纯CSS3实现齿轮加载动画
    Unix/Linux环境下多一点不如少一点
    参加中国系统架构师大会感悟
    Sql Server新手学习入门
    程序设计应知道的那些事儿之函数
    Windows 下如何安装配置Snort视频教程
    程序设计应知道的那些事儿
  • 原文地址:https://www.cnblogs.com/qiuya/p/10853292.html
Copyright © 2011-2022 走看看