mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-21 15:54:39 +01:00
Updated SoftwareSerial examples so that they work easier with Leonardo and Mega
This commit is contained in:
parent
6e8e13d7b3
commit
a24999d5a5
@ -5,11 +5,20 @@
|
|||||||
Receives from software serial, sends to hardware serial.
|
Receives from software serial, sends to hardware serial.
|
||||||
|
|
||||||
The circuit:
|
The circuit:
|
||||||
* RX is digital pin 2 (connect to TX of other device)
|
* RX is digital pin 10 (connect to TX of other device)
|
||||||
* TX is digital pin 3 (connect to RX of other device)
|
* TX is digital pin 11 (connect to RX of other device)
|
||||||
|
|
||||||
|
Note:
|
||||||
|
Not all pins on the Mega and Mega 2560 support change interrupts,
|
||||||
|
so only the following can be used for RX:
|
||||||
|
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
|
||||||
|
|
||||||
|
Not all pins on the Leonardo support change interrupts,
|
||||||
|
so only the following can be used for RX:
|
||||||
|
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
|
||||||
|
|
||||||
created back in the mists of time
|
created back in the mists of time
|
||||||
modified 9 Apr 2012
|
modified 25 May 2012
|
||||||
by Tom Igoe
|
by Tom Igoe
|
||||||
based on Mikal Hart's example
|
based on Mikal Hart's example
|
||||||
|
|
||||||
@ -18,17 +27,17 @@
|
|||||||
*/
|
*/
|
||||||
#include <SoftwareSerial.h>
|
#include <SoftwareSerial.h>
|
||||||
|
|
||||||
SoftwareSerial mySerial(2, 3); // RX, TX
|
SoftwareSerial mySerial(10, 11); // RX, TX
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
// Open serial communications and wait for port to open:
|
// Open serial communications and wait for port to open:
|
||||||
Serial.begin(57600);
|
Serial.begin(57600);
|
||||||
while (!Serial) {
|
while (!Serial) {
|
||||||
; // wait for serial port to connect. Needed for Leonardo only
|
; // wait for serial port to connect. Needed for Leonardo only
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Serial.println("Goodnight moon!");
|
Serial.println("Goodnight moon!");
|
||||||
|
|
||||||
// set the data rate for the SoftwareSerial port
|
// set the data rate for the SoftwareSerial port
|
||||||
@ -43,3 +52,4 @@ void loop() // run over and over
|
|||||||
if (Serial.available())
|
if (Serial.available())
|
||||||
mySerial.write(Serial.read());
|
mySerial.write(Serial.read());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,8 +16,17 @@
|
|||||||
* First serial device's TX attached to digital pin 2, RX to pin 3
|
* 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
|
* Second serial device's TX attached to digital pin 4, RX to pin 5
|
||||||
|
|
||||||
|
Note:
|
||||||
|
Not all pins on the Mega and Mega 2560 support change interrupts,
|
||||||
|
so only the following can be used for RX:
|
||||||
|
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
|
||||||
|
|
||||||
|
Not all pins on the Leonardo support change interrupts,
|
||||||
|
so only the following can be used for RX:
|
||||||
|
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
|
||||||
|
|
||||||
created 18 Apr. 2011
|
created 18 Apr. 2011
|
||||||
modified 9 Apr 2012
|
modified 25 May 2012
|
||||||
by Tom Igoe
|
by Tom Igoe
|
||||||
based on Mikal Hart's twoPortRXExample
|
based on Mikal Hart's twoPortRXExample
|
||||||
|
|
||||||
@ -26,11 +35,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <SoftwareSerial.h>
|
#include <SoftwareSerial.h>
|
||||||
// software serial #1: TX = digital pin 2, RX = digital pin 3
|
// software serial #1: TX = digital pin 10, RX = digital pin 11
|
||||||
SoftwareSerial portOne(2, 3);
|
SoftwareSerial portOne(10,11);
|
||||||
|
|
||||||
// software serial #2: TX = digital pin 4, RX = digital pin 5
|
// software serial #2: TX = digital pin 8, RX = digital pin 9
|
||||||
SoftwareSerial portTwo(4, 5);
|
// on the Mega, use other pins instead, since 8 and 9 don't work on the Mega
|
||||||
|
SoftwareSerial portTwo(8,9);
|
||||||
|
|
||||||
void setup()
|
void setup()
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user