Quote Originally Posted by HenrikOlsson View Post
Can you post the code so we can see how the serial input is handled? SERIN? DEBUGIN? Some custom bit banged rotuine?

[speculating]
That ASM interrupt is pretty short and quick, I count ~14 cycles. (14us @ 4MHz) or something.
"Stealing" 14us every 784us is around 1.8% of the available processing power. Yes, context save and restore adds to that.
At 2400baud each bit is 416us, perhaps the error is small enough for it to not cause any trouble.
[/speculating]

Switching to DT-Ints with the ISR written in PBP will in this case add A LOT of cycles to the interrupt processing due the overhead of saving and restoring all the PBP system variables.

/Henrik.
How many cycles it would add with DT_INT, any approximate idea? The code uses SERIN PortA.3, N2400,["abc"],byte_recv, where byte_recv is a byte type variable. Do you think the solution could be to use a higher oscillator. Lets say @ 8MHz! What do you think?