I didn't even know it had a buffer. No mention in the datasheet of how big it is, tho. Just one character? > UART_SendChar > bsf STATUS,RP0 ; switch to bank 1 > btfss TXSTA,1 ; check TXMT flag and loop if > goto UART_SendChar ; still not done sending the last character Why do you want to wait until the last character is sent to send the next one? Do you really need to make sure the previous character has gone out or are you just trying to make sure the UART is ready to receive the next character? If so, you should be checking the TXIF bit in PIR1. -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads