aboutsummaryrefslogtreecommitdiff
path: root/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2012-01-04 15:14:51 +0100
committerCristian Maglie <c.maglie@bug.st>2012-01-04 15:14:51 +0100
commit8c2b5b979a75d109ae7cc306afc50d7ffe1e0366 (patch)
tree19ac8d91c7209397e7dc890b432a254ae9a7cd62 /libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
parentbe52c95820400d48e47615232d3c38236166fad3 (diff)
Moved libraries folder inside platform folder. Now libraries and examples are searched per board/platform
Diffstat (limited to 'libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino')
-rw-r--r--libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino78
1 files changed, 78 insertions, 0 deletions
diff --git a/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino b/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
new file mode 100644
index 0000000..e870c6f
--- /dev/null
+++ b/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino
@@ -0,0 +1,78 @@
+/*
+ Software serial multple serial test
+
+ Receives from the two software serial ports,
+ sends to the hardware serial port.
+
+ In order to listen on a software port, you call port.listen().
+ When using two software serial ports, you have to switch ports
+ by listen()ing on each one in turn. Pick a logical time to switch
+ ports, like the end of an expected transmission, or when the
+ buffer is empty. This example switches ports when there is nothing
+ more to read from a port
+
+ The circuit:
+ Two devices which communicate serially are needed.
+ * First serial device's TX attached to digital pin 2, RX to pin 3
+ * Second serial device's TX attached to digital pin 4, RX to pin 5
+
+ created 18 Apr. 2011
+ by Tom Igoe
+ based on Mikal Hart's twoPortRXExample
+
+ This example code is in the public domain.
+
+ */
+
+#include <SoftwareSerial.h>
+// software serial #1: TX = digital pin 2, RX = digital pin 3
+SoftwareSerial portOne(2, 3);
+
+// software serial #2: TX = digital pin 4, RX = digital pin 5
+SoftwareSerial portTwo(4, 5);
+
+void setup()
+{
+ // Start the hardware serial port
+ Serial.begin(9600);
+
+ // Start each software serial port
+ portOne.begin(9600);
+ portTwo.begin(9600);
+}
+
+void loop()
+{
+ // By default, the last intialized port is listening.
+ // when you want to listen on a port, explicitly select it:
+ portOne.listen();
+ Serial.println("Data from port one:");
+ // while there is data coming in, read it
+ // and send to the hardware serial port:
+ while (portOne.available() > 0) {
+ char inByte = portOne.read();
+ Serial.write(inByte);
+ }
+
+ // blank line to separate data from the two ports:
+ Serial.println();
+
+ // Now listen on the second port
+ portTwo.listen();
+ // while there is data coming in, read it
+ // and send to the hardware serial port:
+ Serial.println("Data from port two:");
+ while (portTwo.available() > 0) {
+ char inByte = portTwo.read();
+ Serial.write(inByte);
+ }
+
+ // blank line to separate data from the two ports:
+ Serial.println();
+}
+
+
+
+
+
+