In order to insure the reliability of communication between the
PIC18F46K20 and the ATMega2560; the program inside the
ATMega2560 is responsible for monitoring the number of bytes in
the data packet by counting them while receiving from the
PIC18F46K20. If at least one byte of the data is missing due to noise,
power off or any circumstance, the ATMega2560 program will
automatically dispose of the corrupted packet and it will wait for
another one from the master circuit as shown in Fig 5.