Hide minor edits - Show changes to markup
Arduinos have built in support for serial communication on pins 0 and 1, but what if you need more serial ports? The SoftwareSerial Library has been developed to allow serial communication to take place on the other digital pins of your Arduino, using software to replicate the functionality of the hardwired RX and TX lines. This can be extremely helpful when the need arises to communicate with two serial enabled devices, or to talk with just one device while leaving the main serial port open for debugging purpose.
In the example below, digital pins 2 and 3 on your Arduino are used as virtual RX and TX serial lines. The virtual RX pin is set up to listen for anything coming in on via the main serial line, and to then echo that data out the virtual TX line. Conversely, anything received on the virtual RX is sent out over the hardware TX.
Arduinos have built in support for serial communication on pins 0 and 1, but what if you need more serial ports? The SoftwareSerial Library has been developed to allow serial communication to take place on the other digital pins of your Arduino, using software to replicate the functionality of the hardwired RX and TX lines. This can be extremely helpful when the need arises to communicate with two serial enabled devices, or to talk with just one device while leaving the main serial port open for debugging purpose.
In the example below, digital pins 10 and 11 on your Arduino are used as virtual RX and TX serial lines. The virtual RX pin is set up to listen for anything coming in on via the main serial line, and to then echo that data out the virtual TX line. Conversely, anything received on the virtual RX is sent out over the hardware TX.
(:source http://github.com/arduino/Arduino/raw/new-extension/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino lang=arduino tabwidth=4:)
(:source http://github.com/arduino/Arduino/raw/master/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino lang=arduino tabwidth=4:)
Examples > Software Serial Library
Arduinos have built in support for serial communication on pins 0 and 1, but what if you need more serial ports? The SoftwareSerial Library has been developed to allow serial communication to take place on the other digital pins of your Arduino, using software to replicate the functionality of the hardwired RX and TX lines. This can be extremely helpful when the need arises to communicate with two serial enabled devices, or to talk with just one device while leaving the main serial port open for debugging purpose.
In the example below, digital pins 2 and 3 on your Arduino are used as virtual RX and TX serial lines. The virtual RX pin is set up to listen for anything coming in on via the main serial line, and to then echo that data out the virtual TX line. Conversely, anything received on the virtual RX is sent out over the hardware TX.
(:div class=BOM :)
(:divend:)
(:div class=circuit :) There is no circuit for this example. Make sure that your Arduino is attached to your computer via USB to enable serial communication.
image developed using Fritzing. For more circuit examples, see the Fritzing project page
(:divend:)
(:div class=code :)
(:source http://github.com/arduino/Arduino/raw/new-extension/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino lang=arduino tabwidth=4:)
(:divend:)