Hi, >I have done one 9600 bps uart using timer0 interrupt in software with a circular buffer at 14MHz on a 16F84A. In "C". So you > should be able to do it on an 18F with two software uarts. You can sample at 2x the baud rate. Setting your timer interrupt to >some exact multiple of the baud rate is important. So in this case interrupt 19200 times per second. If you have a 40MHz clock >you should have plenty of cycles left over even with two software channels. Can you explain better how to do it with 2x sampling ? I have always used 3 times and it works because it is able to detect the start bit in at least in the first third part of the start bit. How can you detect the start bit and take the samples consistently with 2x the baud rate ?? Best Regards, Alexandre Guimaraes -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist