Bruce, thank you very much for your sample file.
I have tried to create an easier implementation, just to see if it is working on my circuit.
I have a TX circuit and an RX circuit, using RS485.

Below is my code. The LED on the TX is blinking, but not on the RX side.
Any idea what I am doing wrong?

<b>TX Code</b>
<hr>
<code>
&nbsp;&nbsp;Include "Modedefs.bas"

&nbsp;&nbsp;DEFINE&nbsp;&nbsp;&nbsp;&nbsp; OSC 4

&nbsp;&nbsp;DE_OR_RE&nbsp;&nbsp;&nbsp;&nbsp;VAR PORTC.5&nbsp;&nbsp;&nbsp;&nbsp; ' DE and RE Pin of SN75176
&nbsp;&nbsp;LEDPIN&nbsp;&nbsp;&nbsp;&nbsp; VAR PORTD.2&nbsp;&nbsp;&nbsp;&nbsp; ' LED to confirm PIC is running
&nbsp;&nbsp;DATARECEIVED&nbsp;&nbsp;VAR BYTE
&nbsp;&nbsp;
&nbsp;&nbsp;'======== HSEROUT, HSERIN SETTINGS ==========
&nbsp;&nbsp;DEFINE HSER_RCSTA 90h
&nbsp;&nbsp;DEFINE HSER_TXSTA 24h
&nbsp;&nbsp;DEFINE HSER_BAUD 9600

&nbsp;&nbsp;ADCON1 = 7

&nbsp;&nbsp;RCIF&nbsp;&nbsp;VAR&nbsp;&nbsp;PIR1.5& nbsp;&nbsp;&nbsp;&nbsp;' Alias RCIF (USART Receive Interrupt Flag)
&nbsp;&nbsp;OERR&nbsp;&nbsp;VAR&nbsp;&nbsp;RCSTA.1 &nbsp;&nbsp;&nbsp;&nbsp;' Alias OERR (USART Overrun Error Flag)
&nbsp;&nbsp;CREN&nbsp;&nbsp;VAR&nbsp;&nbsp;RCSTA.4 &nbsp;&nbsp;&nbsp;&nbsp;' Alias CREN (USART Continuous Receive Enable)
&nbsp;&nbsp;
Main:
&nbsp;&nbsp;HIGH DE_OR_RE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' Make ready for RX
&nbsp;&nbsp;HSEROUT ["1"]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp; ' Send R1
&nbsp;&nbsp;HIGH LEDPIN
&nbsp;&nbsp;PAUSE 5000
&nbsp;&nbsp;LOW LEDPIN
&nbsp;&nbsp;PAUSE 5000
GOTO MAIN

END
</code>


<b>RX Code</b>
<hr>
<code>
&nbsp;&nbsp;Include "Modedefs.bas"
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;DEFINE&nbsp;&nbsp;&nbsp;&nbsp; OSC 4

&nbsp;&nbsp;DE_OR_RE&nbsp;&nbsp;&nbsp;&nbsp;VAR PORTC.5&nbsp;&nbsp;&nbsp;&nbsp; ' DE and RE Pin of SN75176 (RS485)
&nbsp;&nbsp;LEDPIN&nbsp;&nbsp;&nbsp;&nbsp; VAR PORTD.2&nbsp;&nbsp;&nbsp;&nbsp; ' LED Pin
&nbsp;&nbsp;i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p; VAR BYTE

&nbsp;&nbsp;'======== HSEROUT, HSERIN SETTINGS ==========&nbsp;&nbsp;
&nbsp;&nbsp;DEFINE HSER_RCSTA 90h
&nbsp;&nbsp;DEFINE HSER_TXSTA 24h
&nbsp;&nbsp;DEFINE HSER_BAUD 9600

&nbsp;&nbsp;ADCON1 = 7

&nbsp;&nbsp;RCIF&nbsp;&nbsp;VAR&nbsp;&nbsp;PIR1.5& nbsp;&nbsp;&nbsp;&nbsp;' Alias RCIF (USART Receive Interrupt Flag)
&nbsp;&nbsp;OERR&nbsp;&nbsp;VAR&nbsp;&nbsp;RCSTA.1 &nbsp;&nbsp;&nbsp;&nbsp;' Alias OERR (USART Overrun Error Flag)
&nbsp;&nbsp;CREN&nbsp;&nbsp;VAR&nbsp;&nbsp;RCSTA.4 &nbsp;&nbsp;&nbsp;&nbsp;' Alias CREN (USART Continuous Receive Enable)

&nbsp;&nbsp;LOW DE_OR_RE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;' Make ready for RX
&nbsp;&nbsp;INTCON = %11000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;' Enable interrupts
&nbsp;&nbsp;ON INTERRUPT GoTo serialin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' Declare interrupt handler routine
&nbsp;&nbsp;PIE1.5 = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' Enable interrupt on USART

DoSomeStuff:
&nbsp;&nbsp;For i = 0 to 10
&nbsp;&nbsp;&nbsp;&nbsp;Pause 2
&nbsp;&nbsp;Next i
&nbsp;&nbsp;GOTO DoSomeStuff
&nbsp;&nbsp;
serialin:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp ;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;' Buffer the character received
&nbsp;&nbsp;GOSUB BLINK
&nbsp;&nbsp;RESUME
&nbsp;&nbsp;
BLINK:
&nbsp;&nbsp;HIGH LEDPIN
&nbsp;&nbsp;PAUSE 1000
&nbsp;&nbsp;LOW LEDPIN
&nbsp;&nbsp;PAUSE 1000
&nbsp;&nbsp;RESUME

END

</code>