diff --git a/build/shared/examples/01.Basics/AnalogReadSerial/AnalogReadSerial.ino b/build/shared/examples/01.Basics/AnalogReadSerial/AnalogReadSerial.ino index 1dc462aace5..53b3cd33230 100644 --- a/build/shared/examples/01.Basics/AnalogReadSerial/AnalogReadSerial.ino +++ b/build/shared/examples/01.Basics/AnalogReadSerial/AnalogReadSerial.ino @@ -11,6 +11,11 @@ void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } // the loop routine runs over and over again forever: diff --git a/build/shared/examples/01.Basics/DigitalReadSerial/DigitalReadSerial.ino b/build/shared/examples/01.Basics/DigitalReadSerial/DigitalReadSerial.ino index 115b4c18c51..6756d124567 100644 --- a/build/shared/examples/01.Basics/DigitalReadSerial/DigitalReadSerial.ino +++ b/build/shared/examples/01.Basics/DigitalReadSerial/DigitalReadSerial.ino @@ -12,6 +12,11 @@ int pushButton = 2; void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // make the pushbutton's pin an input: pinMode(pushButton, INPUT); } diff --git a/build/shared/examples/01.Basics/ReadAnalogVoltage/ReadAnalogVoltage.ino b/build/shared/examples/01.Basics/ReadAnalogVoltage/ReadAnalogVoltage.ino index 1e2e4eda83e..0293b6b31af 100644 --- a/build/shared/examples/01.Basics/ReadAnalogVoltage/ReadAnalogVoltage.ino +++ b/build/shared/examples/01.Basics/ReadAnalogVoltage/ReadAnalogVoltage.ino @@ -11,6 +11,11 @@ void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } // the loop routine runs over and over again forever: diff --git a/build/shared/examples/02.Digital/DigitalInputPullup/DigitalInputPullup.ino b/build/shared/examples/02.Digital/DigitalInputPullup/DigitalInputPullup.ino index 7d9276b407b..732aa243064 100644 --- a/build/shared/examples/02.Digital/DigitalInputPullup/DigitalInputPullup.ino +++ b/build/shared/examples/02.Digital/DigitalInputPullup/DigitalInputPullup.ino @@ -24,6 +24,11 @@ void setup() { //start serial connection Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; //configure pin2 as an input and enable the internal pull-up resistor pinMode(2, INPUT_PULLUP); pinMode(13, OUTPUT); diff --git a/build/shared/examples/02.Digital/StateChangeDetection/StateChangeDetection.ino b/build/shared/examples/02.Digital/StateChangeDetection/StateChangeDetection.ino index 3e2f3b36508..d3c9dac0b32 100644 --- a/build/shared/examples/02.Digital/StateChangeDetection/StateChangeDetection.ino +++ b/build/shared/examples/02.Digital/StateChangeDetection/StateChangeDetection.ino @@ -41,6 +41,11 @@ void setup() { pinMode(ledPin, OUTPUT); // initialize serial communication: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } diff --git a/build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino b/build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino index 28c780d89a8..971c9b25b6d 100644 --- a/build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino +++ b/build/shared/examples/02.Digital/tonePitchFollower/tonePitchFollower.ino @@ -22,6 +22,11 @@ This example code is in the public domain. void setup() { // initialize serial communications (for debugging only): Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino b/build/shared/examples/03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino index 60c52ee9e51..34e54b1717b 100644 --- a/build/shared/examples/03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino +++ b/build/shared/examples/03.Analog/AnalogInOutSerial/AnalogInOutSerial.ino @@ -30,6 +30,11 @@ int outputValue = 0; // value output to the PWM (analog out) void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/03.Analog/Smoothing/Smoothing.ino b/build/shared/examples/03.Analog/Smoothing/Smoothing.ino index 9a79c9caafa..70a1cef881e 100644 --- a/build/shared/examples/03.Analog/Smoothing/Smoothing.ino +++ b/build/shared/examples/03.Analog/Smoothing/Smoothing.ino @@ -37,6 +37,11 @@ int inputPin = A0; void setup() { // initialize serial communication with computer: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize all the readings to 0: for (int thisReading = 0; thisReading < numReadings; thisReading++) { readings[thisReading] = 0; diff --git a/build/shared/examples/04.Communication/Dimmer/Dimmer.ino b/build/shared/examples/04.Communication/Dimmer/Dimmer.ino index ef0e084de75..f3cc02a6bf8 100644 --- a/build/shared/examples/04.Communication/Dimmer/Dimmer.ino +++ b/build/shared/examples/04.Communication/Dimmer/Dimmer.ino @@ -26,6 +26,11 @@ const int ledPin = 9; // the pin that the LED is attached to void setup() { // initialize the serial communication: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize the ledPin as an output: pinMode(ledPin, OUTPUT); } diff --git a/build/shared/examples/04.Communication/Graph/Graph.ino b/build/shared/examples/04.Communication/Graph/Graph.ino index db812e03449..24d45782321 100644 --- a/build/shared/examples/04.Communication/Graph/Graph.ino +++ b/build/shared/examples/04.Communication/Graph/Graph.ino @@ -29,6 +29,11 @@ void setup() { // initialize the serial communication: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/04.Communication/Midi/Midi.ino b/build/shared/examples/04.Communication/Midi/Midi.ino index e4de8ccb78e..e91da934bf0 100644 --- a/build/shared/examples/04.Communication/Midi/Midi.ino +++ b/build/shared/examples/04.Communication/Midi/Midi.ino @@ -25,6 +25,11 @@ void setup() { // Set MIDI baud rate: Serial.begin(31250); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/04.Communication/MultiSerial/MultiSerial.ino b/build/shared/examples/04.Communication/MultiSerial/MultiSerial.ino index ea9fa2eb212..8ffa42759b3 100644 --- a/build/shared/examples/04.Communication/MultiSerial/MultiSerial.ino +++ b/build/shared/examples/04.Communication/MultiSerial/MultiSerial.ino @@ -25,6 +25,11 @@ void setup() { // initialize both serial ports: Serial.begin(9600); Serial1.begin(9600); + // wait for Serial and Serial1 ports initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial && !Serial1) ; } void loop() { diff --git a/build/shared/examples/04.Communication/PhysicalPixel/PhysicalPixel.ino b/build/shared/examples/04.Communication/PhysicalPixel/PhysicalPixel.ino index 25556af5688..c8390118fdb 100644 --- a/build/shared/examples/04.Communication/PhysicalPixel/PhysicalPixel.ino +++ b/build/shared/examples/04.Communication/PhysicalPixel/PhysicalPixel.ino @@ -29,6 +29,11 @@ int incomingByte; // a variable to read incoming serial data into void setup() { // initialize serial communication: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); } diff --git a/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino b/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino index 074c9c78976..a106db4565e 100644 --- a/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino +++ b/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino @@ -26,8 +26,13 @@ const int greenPin = 5; const int bluePin = 6; void setup() { - // initialize serial: + // start serial comunication Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // make the pins outputs: pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); diff --git a/build/shared/examples/04.Communication/SerialEvent/SerialEvent.ino b/build/shared/examples/04.Communication/SerialEvent/SerialEvent.ino index cbaaf88f37b..842f8cdbf5d 100644 --- a/build/shared/examples/04.Communication/SerialEvent/SerialEvent.ino +++ b/build/shared/examples/04.Communication/SerialEvent/SerialEvent.ino @@ -23,6 +23,11 @@ boolean stringComplete = false; // whether the string is complete void setup() { // initialize serial: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // reserve 200 bytes for the inputString: inputString.reserve(200); } diff --git a/build/shared/examples/04.Communication/SerialPassthrough/SerialPassthrough.ino b/build/shared/examples/04.Communication/SerialPassthrough/SerialPassthrough.ino index 5650abbaf4d..f7d88f749b4 100644 --- a/build/shared/examples/04.Communication/SerialPassthrough/SerialPassthrough.ino +++ b/build/shared/examples/04.Communication/SerialPassthrough/SerialPassthrough.ino @@ -26,6 +26,11 @@ void setup() { Serial.begin(9600); Serial1.begin(9600); + // wait for Serial and Serial1 ports initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial && !Serial1) ; } void loop() { diff --git a/build/shared/examples/04.Communication/VirtualColorMixer/VirtualColorMixer.ino b/build/shared/examples/04.Communication/VirtualColorMixer/VirtualColorMixer.ino index b9a6df1da0e..6ec7aeb3a13 100644 --- a/build/shared/examples/04.Communication/VirtualColorMixer/VirtualColorMixer.ino +++ b/build/shared/examples/04.Communication/VirtualColorMixer/VirtualColorMixer.ino @@ -22,6 +22,11 @@ const int bluePin = A2; // sensor to control blue color void setup() { Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/06.Sensors/ADXL3xx/ADXL3xx.ino b/build/shared/examples/06.Sensors/ADXL3xx/ADXL3xx.ino index 2515d60a09c..c0211e1c7be 100644 --- a/build/shared/examples/06.Sensors/ADXL3xx/ADXL3xx.ino +++ b/build/shared/examples/06.Sensors/ADXL3xx/ADXL3xx.ino @@ -36,6 +36,11 @@ const int zpin = A1; // z-axis (only on 3-axis models) void setup() { // initialize the serial communications: Serial.begin(9600); + // wait for Serial port to connect + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // Provide ground and power by using the analog inputs as normal // digital pins. This makes it possible to directly connect the diff --git a/build/shared/examples/06.Sensors/Knock/Knock.ino b/build/shared/examples/06.Sensors/Knock/Knock.ino index 98c64ffb00c..fd7d94fefc3 100644 --- a/build/shared/examples/06.Sensors/Knock/Knock.ino +++ b/build/shared/examples/06.Sensors/Knock/Knock.ino @@ -35,6 +35,11 @@ int ledState = LOW; // variable used to store the last LED status, to to void setup() { pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT Serial.begin(9600); // use the serial port + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/06.Sensors/Memsic2125/Memsic2125.ino b/build/shared/examples/06.Sensors/Memsic2125/Memsic2125.ino index 74c504bb831..c39348186e0 100644 --- a/build/shared/examples/06.Sensors/Memsic2125/Memsic2125.ino +++ b/build/shared/examples/06.Sensors/Memsic2125/Memsic2125.ino @@ -28,8 +28,13 @@ const int xPin = 2; // X output of the accelerometer const int yPin = 3; // Y output of the accelerometer void setup() { - // initialize serial communications: + // initialize serial communication: Serial.begin(9600); + // wait for Serial port to connect. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize the pins connected to the accelerometer // as inputs: pinMode(xPin, INPUT); diff --git a/build/shared/examples/06.Sensors/Ping/Ping.ino b/build/shared/examples/06.Sensors/Ping/Ping.ino index ab0cb899cd8..ad1dc806aa4 100644 --- a/build/shared/examples/06.Sensors/Ping/Ping.ino +++ b/build/shared/examples/06.Sensors/Ping/Ping.ino @@ -29,6 +29,11 @@ const int pingPin = 7; void setup() { // initialize serial communication: Serial.begin(9600); + // wait for Serial port to connect. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; } void loop() { diff --git a/build/shared/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino b/build/shared/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino index a3310f7cc84..2ba99dff52d 100644 --- a/build/shared/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino +++ b/build/shared/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino @@ -24,6 +24,11 @@ void setup() { // open the serial port: Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize control over the keyboard: Keyboard.begin(); } diff --git a/build/shared/examples/09.USB/KeyboardAndMouseControl/KeyboardAndMouseControl.ino b/build/shared/examples/09.USB/KeyboardAndMouseControl/KeyboardAndMouseControl.ino index f14df1d0fa9..3b5bc9541b2 100644 --- a/build/shared/examples/09.USB/KeyboardAndMouseControl/KeyboardAndMouseControl.ino +++ b/build/shared/examples/09.USB/KeyboardAndMouseControl/KeyboardAndMouseControl.ino @@ -39,6 +39,11 @@ void setup() { // initialize the buttons' inputs: pinMode(mouseButton, INPUT); Serial.begin(9600); + // wait for Serial port initialization. + // Needed for boards that use native USB port such as + // ATMEGA32U4 based boards, Arduino/Genuino 101, + // Arduino Due and Arduino/Genuino Zero (Native Port) + while(!Serial) ; // initialize mouse control: Mouse.begin(); Keyboard.begin();