jtroxas wrote: > >Which PIC are you using? > I am using a PIC18F242... Are you doing development in C or Assembly? Microchip has libraries for the C18 compiler, which include the hardware USART functions as well. > I am using handshaking lines the same way a modem uses it.. RTS CTS to > tell when to send and receive data... They are probably unnecessary. What is your application? > I am using Interrupts for transmit because the design was not supposed to > be used only for loopback test.. the loopback test was used only to check > whether communication using interrupts was working perfectly.. which > ofcourse I found out was not.. It would definitely help if you explained exactly what you are trying to do (what is the expected end result?). In most cases, you don't need to use the transmit interrupt. Simply checking the flag to make sure the buffer is empty before shoving data into TXREG is often sufficient: char byte; ... while(!PIR1bits.TXIF) ; TXREG = byte; If you are receiving huge loads of data, implement a circular buffer, and use an if statement (if TXREG is empty, transmit data from circular buffer, otherwise go use the cycles elsewhere). Best regards, Vitaliy -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist