Thanks guys for the help, but I seem more confused than ever before about this serial (UART) stuff now. Would someone please be able to a have a quick look at my code (below), and tell me (exactly) what I need to change to get it working? I realise this maybe a large ask, but once I can get the serial stuff working I can start using it to debug other stuff back to a computer screen. All I need to do is send data through the uart to HyperTerminal on a computer at 9600bps, using a 18F8720 chip and Htsoft PIC18 C compiler? Could someone please help I am really desperate? CODE: #include #include #define BAUD_RATE 9600 #define CLOCK_FREQ 19660000 #define USARTGET (RCREG1) #define DATA 1 static void usartput(unsigned char c); static void usartput(unsigned char c) { while(!TRMT1) TXREG1=c; } bit kbhit(void) { unsigned char b; if(RCIF) { if(FERR1||OERR1) { b = RCREG1; CREN1 = 0; CREN1 = 1; return(0); } else return(1); } return(0); } void main(void) { TRISC7 = 1; SPBRG1 = (((CLOCK_FREQ/BAUD_RATE)/64)-1); TXSTA1 = 0b00100000; RCSTA1 = 0b10010000; do usartput('s'); while(DATA == 1); } ________________________________________________ Message sent using UebiMiau 2.7.2 -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu