On Sat, 4 Oct 2003, Lucian wrote: > tmp = 16UL * baud; > X = (int)(XTAL/tmp) - 1; How are "tmp" and "X" declared? How is "XTAL" defined? > TXIE = 1; /* enable tx interrupts */ You don't want to turn on transmit interrupts until you have something to transmit. Is your transmit buffer initialized at this point? > if(TXIF && TXIE) > { > led1_on(); > if(SendBufferPos == SendBufferRecPos) > TXEN = 0; You wouldn't normally want to disable the transmitter in your ISR, because the transmitter is still active after your ISR has finished loading bytes into TXREG. > sci_PutByte(sendbuffer[SendBufferPos]); What does this function do? You don't need to call a function to place a byte in TXREG. -- John W. Temples, III -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads