The microcontrollers use serial half-duplex UART communication. Although the communication itself is half-duplex, a fluid conversation is obtained due to the high speed and frequency of each data delivery between the microcontrollers.

An important point is that there are two different source codes for the microcontrollers. In the communication process a loop is necessary while waiting for the asynchronous communication to hook up, this loop could either be in the transmitter segment or the receiver segment. If both microcontrollers have the loop in the same segment the communication would stick, so there is a source code that has the loop on the transmitter segment and other on the receiver segment. 

MPLAB IDE and XC8 compiler were used.