>> I think that's one of your problems, having to much "going on" >> in your ISR. >> > > Unfortunately, I can't find another way of doing it. I have this one VERY > intense routine. It is loops of floating point operations on arrays. It is > essential to the app and very slow. What I usually do is implement some sort of state machine for long background tasks, where the task can release control (for another background loop) more often. Instead of the whole 4 seconds or so you said, you maybe could chunk it up into pieces of whatever suits your other constraints. When it gets control back after releasing it, it just continues where it left off. Gerhard -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body