Hi, > > I once read on the list that the internal osc won't vary more > > then 3%. I've communicated with modems using the intrc and never seen a > > problem. However I use my own code and not the usart. > > > > It would depend on what you are trying to communicate with and how picky > > it was. i.e. a 57.6K modem would most likely have problems but a 2400 > > would work with no problems. > > This makes no sense because it is the percentage error that counts. 3% > clock error should work if the other end has very little error, but is > uncofortably close to the margin. This is true at 300baud or 57.6Kbaud. Depending on how you implement the serial routines you can get a little better results than the hardware UART ! If you use the rising edge of the '1' bits you can resyncronize the timing within a byte and that gives you better margin. At the worst case of just '0' bits you loose the advantage but it is a minority of the bytes anyway. If you are using a protocol that has error correction you are OK with the rare errors that may come up. Using a more sofhisticated algorithm you can even time the start bit and use that timing to determine the position of the other bits. That way you can get away with errors bigger than 5% ! The timing varies with temperature and that variation should not be large inside a single byte. Best regards, Alexandre Guimaraes -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body