Softwareserial.h: Library |top|
The classic Arduino Uno, Nano, and Mega 2560 (for its first few ports) have dedicated hardware UARTs (Universal Asynchronous Receiver-Transmitters). However, hardware UARTs are limited in number. Once you connect a GPS module, a Bluetooth module, and a debug console simultaneously, you run out of ports.
port1.listen(); // Switch back
Bidirectional Communication with Collision Avoidance Since SoftwareSerial is half-duplex, implement a simple protocol: softwareserial.h library
You can create multiple instances, but only one can receive at a time . The active receiver is set by the last call to listen() . The classic Arduino Uno, Nano, and Mega 2560
void loop() // Check GPS if (gps.available()) char c = gps.read(); Serial.print(c); // Show on debug bluetooth.print(c); // Forward to Bluetooth // Show on debug bluetooth.print(c)
void setup() Serial.begin(9600); // Debug console gps.begin(9600); bluetooth.begin(38400); // Common HC-05 default gps.listen(); // Listen to GPS first