With soft timing I mean anything that relies on counting instructioncycles for precise timing, like PAUSE, PAUSEUS, SERIN, PULSIN, etc. Same thing with the stuff that started this thread, we figured out a certain piece of code executes in x number of cycles but when there's an interrupt constantly "stealing" cycles away that timing is obviously no longer correct - nor constant.

I can't say I understand why the uC must be a 5V one just because the bus is RS485 but the 18F25K22 is a very good choice, if it's got enough pins (otherwise the 45K22) or the 26/46 if you need even more FLASH.

The choosen baudrate doesn't really matter when it comes to accuracy of the x-tal, if the clock is 1% off then the baudrate will be 1% off att 250baud and at 250kbaud. The internal oscillator is most likely fine but if you're designing a board and you can spare the pins I'd certainly design in the option to use a x-tal. (I'm using the 16F1519 in a project of mine, internal oscillator, on one board of 7 I had to tweak the baudcon register by two counts to get the correct baudrate since the internal oscillator was off. The other boards are spot on.)

You say DMX tranceiver, are you going to receive data at 250kbaud as well? That will be "interesting"... :-)

/Henrik,.