2012-03-20 19:48:24 +01:00
|
|
|
/*
|
|
|
|
Software serial multple serial test
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-03-20 19:48:24 +01:00
|
|
|
Receives from the hardware serial, sends to software serial.
|
|
|
|
Receives from software serial, sends to hardware serial.
|
2013-10-21 09:58:40 +02:00
|
|
|
|
|
|
|
The circuit:
|
2012-05-25 15:38:44 +02:00
|
|
|
* RX is digital pin 10 (connect to TX of other device)
|
|
|
|
* TX is digital pin 11 (connect to RX of other device)
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-05-25 15:38:44 +02:00
|
|
|
Note:
|
2013-10-21 09:58:40 +02:00
|
|
|
Not all pins on the Mega and Mega 2560 support change interrupts,
|
|
|
|
so only the following can be used for RX:
|
2012-05-25 15:38:44 +02:00
|
|
|
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
|
2013-10-21 09:58:40 +02:00
|
|
|
|
|
|
|
Not all pins on the Leonardo support change interrupts,
|
|
|
|
so only the following can be used for RX:
|
2012-05-25 15:38:44 +02:00
|
|
|
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-03-20 19:48:24 +01:00
|
|
|
created back in the mists of time
|
2012-05-25 15:38:44 +02:00
|
|
|
modified 25 May 2012
|
2012-03-20 19:48:24 +01:00
|
|
|
by Tom Igoe
|
|
|
|
based on Mikal Hart's example
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-03-20 19:48:24 +01:00
|
|
|
This example code is in the public domain.
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-03-20 19:48:24 +01:00
|
|
|
*/
|
2011-10-27 17:45:13 +02:00
|
|
|
#include <SoftwareSerial.h>
|
|
|
|
|
2012-05-25 15:38:44 +02:00
|
|
|
SoftwareSerial mySerial(10, 11); // RX, TX
|
2011-10-27 17:45:13 +02:00
|
|
|
|
2015-07-06 15:18:33 +02:00
|
|
|
void setup() {
|
2012-05-25 15:38:44 +02:00
|
|
|
// Open serial communications and wait for port to open:
|
2012-04-11 12:56:31 +02:00
|
|
|
Serial.begin(57600);
|
2012-05-25 15:38:44 +02:00
|
|
|
while (!Serial) {
|
2012-04-09 15:51:35 +02:00
|
|
|
; // wait for serial port to connect. Needed for Leonardo only
|
|
|
|
}
|
|
|
|
|
2012-05-25 15:38:44 +02:00
|
|
|
|
2011-10-27 17:45:13 +02:00
|
|
|
Serial.println("Goodnight moon!");
|
|
|
|
|
|
|
|
// set the data rate for the SoftwareSerial port
|
|
|
|
mySerial.begin(4800);
|
|
|
|
mySerial.println("Hello, world?");
|
|
|
|
}
|
|
|
|
|
2015-07-06 15:18:33 +02:00
|
|
|
void loop() { // run over and over
|
|
|
|
if (mySerial.available()) {
|
2011-10-27 17:45:13 +02:00
|
|
|
Serial.write(mySerial.read());
|
2015-07-06 15:18:33 +02:00
|
|
|
}
|
|
|
|
if (Serial.available()) {
|
2011-10-27 17:45:13 +02:00
|
|
|
mySerial.write(Serial.read());
|
2015-07-06 15:18:33 +02:00
|
|
|
}
|
2011-10-27 17:45:13 +02:00
|
|
|
}
|
2012-05-25 15:38:44 +02:00
|
|
|
|