>I like the interrupt approach. I set a circular buffer >that the application fills and the ISR empties. When >transmitting the last char the ISR disables TXIE, and >when queuing any char the application enables TXIF. > >Things become as simple as 'UARTSendByte( Port, Byte );'. > >Usually the application will never wait for the UART, >unless the circular queue becomes full or I need to >wait for the transmission to end >( 'UARTIsTransmitting( Port )' ). I have done exactly this using assembler on the 16F series, using Olins macros for the FIFO, and Fr. Tom McGahees PICUART file. Works a real treat. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist