Diver ( PIC24 assembler ... wow) If my memory correct , I had serial UART PIC24 RX routine that polled the buffer flag for input, the bytes were taken from RXREG and placed into a FIFO array , but i kept getting resets ,( RCON no flags) that's when I added trap.c , this halts code in the ISR ( while(1)") so in debug I found out it was address error , stack then pointed to the Serial code, ( I understand this error as a 8bit to 16bit alignment address error ). I rewrote the serial routine with a serial RX interrupt instead of poll , sorted ! I was assembler geek with PIC16, but bit the bullet and pursued the mighty C whith PIC24, ( missed out PIC18 ). My C no where near "professional" as I come from a 30 year HW background, You can teach an old dog new tricks..