Hi Darrel,
thanks for the answer.
I don't have any pauses, the i2c bus writes and reads ad-converters and io-expanders, no eeproms.

I think the main problem is the handler for the uarts. The interrups for the uarts are handled as fast as possible, i read back the RCSTA registers and then i put the data in an array, by triggering on "{" and "}" for start of text and end of text. When "}" was received the serial command is valid and then i parse the string.
After that i handle my i2c bus and so on....
Maybe it is more effective to make a ring buffer, and when ever there is time then i check this buffer and parse the data in it. But i never made such a ring buffer.....

Regards,
Ralf