Hi Steve,

Many thanks for the reply ;-)

Please find below:

Transmitter Side

INCLUDE "modedefs.bas"
DEFINE OSCCAL_1K 1

TRISIO.0 = 1 ' set GPIO.0 as input
TRISIO.2 = 0 ' set GPIO.0 as output

B0 VAR WORD

start:

PAUSE 500
HIGH PORTA.5
PAUSE 500
LOW PORTA.5
PAUSE 500
HIGH PORTA.5
PAUSE 500
LOW PORTA.5
GOTO loop

LOOP:

PAUSE 500
LOW PORTA.5
IF PORTA.3 = 0 THEN GOTO LOOP1
IF PORTA.3 = 1 THEN GOTO loop

LOOP1:

HIGH PORTA.5
SerOut PORTA.2,n2400,[$55,$55,"A",B0]
Pause 100
GoTo LOOP

End
INCLUDE "modedefs.bas"


trisa = %00111111
trisc = %00111111

B0 VAR WORD
B1 VAR BYTE
B2 VAR BYTE
Pause 100

start:

high porta.4
low porta.1
pause 500
low porta.4
high porta.1
pause 500
high porta.4
low porta.1
pause 500
low porta.4
high porta.1
pause 500
GOTO loop

loop:

SERIN2 PORTC.1,N2400,1000,start,[WAIT("A"),B1]
GOTO LOOP2

loop2:

low porta.4
high porta.1
pause 3000
high porta.4
low porta.1
pause 3000
goto START


End

Receiver Side: