@OP
First of all, you need to understand the concept of Software UART Port (SUART) and then the procedures of serial data exchange using this port. The following diagram of Fig-1 may help you to understand these concepts.

Figure-1: Connection diagram between UNO and NANO using SUART Ports
1. The ATmega328P MCU of the UNO Board has only one hardware UART Port (UART). It is permanently connected with PC to support SM1 (Serial Monitor-1) and Arduino IDE.
2. The ATmega328P MCU of the NANO Board has only one hardware UART Port (UART). It is permanently connected with PC to support SM2 (Serial Monitor-2) and Arduino IDE.
3. If we want to exchange data between UNO and NANO using UART Ports, we may connect the UART Ports of both Arduinos; but, this kind connection is not recommended as they usually do not work.
4. The solution is to use a Software UART (SUART) Port which is created when the user includes the following codes in his sketch:
#include<SoftwareSerial.h>
SoftwareSerial dbgSerial(10, 11); //(SRX, STX)
dbgSerial.begin(9600);
5. All the commands/methods of the UART Port are equally applicable for the SUART Port except that the void serialEvent() procedure is exclusively reserved for the hardware UART Port.
6. The Fig-1 says that serial communication among SM1, UART(1), SUART(1), SUART(2), and SM2 will happen in the following ways.
(1) Send a character (say, A) from the InputBox of SM1. It will arrive at UART(1) Port of UNO.
(2) Read the character from UNO's UART Port.
(3) Write the character to the SUART(1) Port of UNO. The character will arrive at SUART(2) Port of NANO.
(4) Read the character form SUART(2) Port of NANO.
(5) Write the character to the UART(2) Port of NANO.
(6) Check that the character A has appeared on the OutputBox of SM2.
7. Convert the events of Step-6 into Arduino Codes. Upload the codes into UNO and NANO as needed. Please, post the results.
