Seyi, You have not included the code for the function getc() which leads me to believe you are using the library getc(). I'm fairly certain the library getc() does not "know" how to poll the RB0 to receive a character. I think you have to write a custom routine in place of getc(). It is also very dangerous to spend that much time (the time required to receive a full character) inside an interrupt handler. In general you want to get in and get out, keep your interrupt handlers very short. Microchip has application notes on implementing software UARTS, this is actually a FAQ and I'm sure that it turns up in the archive on a regular basis. I just don't rememeber the AN numbers off the top of my head. A quick search should turn up two of them. Good Luck Wynn -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics