Some reason you're using the software uart instead of hardware? For the hardware USART, I use the code below: unsigned char InkeyUSART(void){ // Same as getcUSART, but returns 0 if no key instead of waiting for a key unsigned char data; if (DataRdyUSART()){ data=getcUSART(); // Get the byte }else data=0; // If nothing there, return 0 return(data); } Harold FCC Rules Online at http://hallikainen.com/FccRules Lighting control for theatre and television at http://www.dovesystems.com Reach broadcasters, engineers, manufacturers, compliance labs, and attorneys. Advertise at http://www.hallikainen.com/FccRules/ . ________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/web/. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics