David Dolheguy wrote: > static void usartput(unsigned char c) > { > while(!TRMT1) > TXREG1=3Dc; > } This basically says: for as long as there is something in the transmit buffer already, send the same character anyway... You need a semicolon a= t the end of the 'while' line. Note that TRMT isn't usually what you want to poll for serial transmissio= n: it doesn't get set until the character is entirely sent, when you can actually put another character into TXREG much sooner due to the USART's internal buffering. Poll the TXIF bit instead. Also note that continuously sending the same character is not necessarily= going to result in that character being received at the PC, since there's= no guarantee that it will sync to your start/stop bits. An occasional pause, of at least one entire character time, will ensure synchronization= . Jason Harper -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body