mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-03 14:24:15 +01:00
9eaea4205d
According to #3786 removed the reference to Leonardo only in while(!Serial) of the examples. Changed in in "wait for serial port to connect. Needed for native USB port only"
52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
/*
|
|
String to Integer conversion
|
|
|
|
Reads a serial input string until it sees a newline, then converts
|
|
the string to a number if the characters are digits.
|
|
|
|
The circuit:
|
|
No external components needed.
|
|
|
|
created 29 Nov 2010
|
|
by Tom Igoe
|
|
|
|
This example code is in the public domain.
|
|
*/
|
|
|
|
String inString = ""; // string to hold input
|
|
|
|
void setup() {
|
|
// Open serial communications and wait for port to open:
|
|
Serial.begin(9600);
|
|
while (!Serial) {
|
|
; // wait for serial port to connect. Needed for native USB port only
|
|
}
|
|
|
|
// send an intro:
|
|
Serial.println("\n\nString toInt():");
|
|
Serial.println();
|
|
}
|
|
|
|
void loop() {
|
|
// Read serial input:
|
|
while (Serial.available() > 0) {
|
|
int inChar = Serial.read();
|
|
if (isDigit(inChar)) {
|
|
// convert the incoming byte to a char
|
|
// and add it to the string:
|
|
inString += (char)inChar;
|
|
}
|
|
// if you get a newline, print the string,
|
|
// then the string's value:
|
|
if (inChar == '\n') {
|
|
Serial.print("Value:");
|
|
Serial.println(inString.toInt());
|
|
Serial.print("String: ");
|
|
Serial.println(inString);
|
|
// clear the string for new input:
|
|
inString = "";
|
|
}
|
|
}
|
|
}
|
|
|