> Interrupt: > bcf INTCON,GIE > btfss INTCON,GIE > goto $ - 2 Interrupts are already off by the time you get into the interrupt routine. Nothing will magically re-enable them. > bsf PORTB,LED ; turn on LED > call Delay15ms > call Delay15ms > call Delay15ms > call Delay15ms > bcf PORTB,LED > btfsc PIR1,RCIF ; see if RX flag is set > call RS232_Receive ; if it is, call RS232_Receive > retfie Read the section about interrupts carefully. You have major misconceptions here. For example, this interrupt routine will randomly and asynchronously appear to trash state in the foreground routine. After reading and understanding the manual, see QQQ_INTR.ASPIC at http://www.embedinc.com/pic as an example interrupt module. ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.