mirror of https://github.com/noisymime/Arduino.git
Added SerialEvent() example
This commit is contained in:
parent
db64d2fc32
commit
ceddbf960f
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
Serial Event example
|
||||||
|
|
||||||
|
When new serial data arrives, this sketch adds it to a String.
|
||||||
|
When a newline is received, the loop prints the string and
|
||||||
|
clears it.
|
||||||
|
|
||||||
|
A good test for this is to try it with a GPS receiver
|
||||||
|
that sends out NMEA 0183 sentences.
|
||||||
|
|
||||||
|
Created 9 May 2011
|
||||||
|
by Tom Igoe
|
||||||
|
|
||||||
|
This example code is in the public domain.
|
||||||
|
|
||||||
|
http://www.arduino.cc/en/Tutorial/SerialEvent
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
String inputString = ""; // a string to hold incoming data
|
||||||
|
boolean stringComplete = false; // whether the string is complete
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// initialize serial:
|
||||||
|
Serial.begin(9600);
|
||||||
|
// reserve 200 bytes for the inputString:
|
||||||
|
inputString.reserve(200);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// print the string when a newline arrives:
|
||||||
|
if (stringComplete) {
|
||||||
|
Serial.println(inputString);
|
||||||
|
// clear the string:
|
||||||
|
inputString = "";
|
||||||
|
stringComplete = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
SerialEvent occurs whenever a new byte comes in the
|
||||||
|
hardware serial RX. Don't do complex things here, as thge
|
||||||
|
processor halts the regular program to run this routine:
|
||||||
|
*/
|
||||||
|
void serialEvent() {
|
||||||
|
// get the new byte:
|
||||||
|
char inChar = (char)Serial.read();
|
||||||
|
// add it to the inputString:
|
||||||
|
inputString += inChar;
|
||||||
|
// if the incoming character is a newline, set a flag
|
||||||
|
// so the main loop can do something about it:
|
||||||
|
if (inChar == '\n') {
|
||||||
|
stringComplete = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue