PinguinoIDE / pinguino-libraries

Pinguino librairies, keywords and other useful files.
24 stars 27 forks source link

Explanation #23

Open FSHK opened 5 years ago

FSHK commented 5 years ago

Hi im new into this world of pinguino and i would appreciate if someone could explain me how exactly the library works i get the milis_init initialize the millis the millis() return the value of millis the interrupt increase the millis by 1 but the update dont get the idea of it,the only thing i need to do is replace the delay(ms) using only the millis library :( could someone explain this to me please T.T?

rblanchot commented 5 years ago

Hi, Here is how we use the millis library to blink a LED every 1000ms. I hope it helps.

const int ledPin =  USERLED;      // the number of the LED pin

// Variables will change:
int ledState = LOW;             // ledState used to set the LED
long previousMillis = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 1000;           // interval at which to blink (milliseconds)

void setup()
{
  // set the digital pin as output:
  pinMode(ledPin, OUTPUT);      
}

void loop()
{
  // 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);
  }
}