Michael Rigby-Jones wrote: > The bottom line is that ISR's should in most cases be designed to run > as quickly as possible. In the case of a comms interrupt you would > normally just take the data out of the UART register and add it to a > circular buffer. Your main program loop can than take data out of > the buffer when it needs to. Yes, and note how long you have to service the UART. At 115.2Kbaud there can be a character every 86.8uS, which is 434 instructions on a 20MHz PIC. The interrupt routine to grab a byte from the UART and stuff it into a FIFO should be only a small fraction of that. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist