1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-07 01:54:26 +01:00
Scott 68e5047736 Added keywords for new libraries, rearranged and modified Due and USB examples
Renamed Leonardo Only examples folder to USB. Modified keyboard and
Mouse examples to indicate Due compatibility.

Minor modifications to Due examples to conform with existing example
sketches.

Added keywords to for Audio, Scheduer, and USBHost libraries.
2012-10-21 12:36:54 -04:00

85 lines
1.7 KiB
C++

/*
Multiple Blinks
Demonstrates the use of the Scheduler library for the Arduino Due
Hardware required :
* LEDs connected to pins 11, 12, and 13
created 8 Oct 2012
by Cristian Maglie
Modified by
Scott Fitzgerald 19 Oct 2012
This example code is in the public domain
http://arduino.cc/en/Tutorial/MultipleBlinks
*/
// Include Scheduler since we want to manage multiple tasks.
#include <Scheduler.h>
int led1 = 13;
int led2 = 12;
int led3 = 11;
void setup() {
Serial.begin(9600);
// Setup the 3 pins as OUTPUT
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
// Add "loop2" and "loop3" to scheduling.
// "loop" is always started by default.
Scheduler.startLoop(loop2);
Scheduler.startLoop(loop3);
}
// Task no.1: blink LED with 1 second delay.
void loop() {
digitalWrite(led1, HIGH);
// IMPORTANT:
// We must use 'wait' instead of 'delay' to guarantee
// that the other tasks get executed.
// ('wait' passes control to other tasks while waiting)
wait(1000);
digitalWrite(led1, LOW);
wait(1000);
}
// Task no.2: blink LED with 0.1 second delay.
void loop2() {
digitalWrite(led2, HIGH);
wait(100);
digitalWrite(led2, LOW);
wait(100);
}
// Task no.3: accept commands from Serial port
// '0' turns off LED
// '1' turns on LED
void loop3() {
if (Serial.available()) {
char c = Serial.read();
if (c=='0') {
digitalWrite(led3, LOW);
Serial.println("Led turned off!");
}
if (c=='1') {
digitalWrite(led3, HIGH);
Serial.println("Led turned on!");
}
}
// IMPORTANT:
// We must call 'yield' at a regular basis to pass
// control to other tasks.
yield();
}