>What happens is on some of the characters sent out the USART >the upper and lower nibbles are swapped, so that instead of >sending out 0x0D it sends 0xD0. What could cause a "nibble" >swap like this? It does not happen on every character. This sounds like your interrupt routine services a timer interrupt while you are in non-interrupt UART handling code, and the contents of the W reg are not being restored properly. Remember that the common way of saving/restoring the W reg uses the nibble swap instruction. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist