mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-03 14:24:15 +01:00
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 Leonardo 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 = "";
|
|
}
|
|
}
|
|
}
|
|
|