>main > >loop: > >call task1 >call task2 >call task3 > >dloop: > if we have time left, go to dloop > >goto loop >(psuedo code off) > >This method basically runs every task, one right after another, and then >pads out the remaining time to whatever value you might want using the TMR0 >module. From within each subroutine, you can assume that *exactly* so much >time has passed since the subroutine was run last. Coding is much easier No you can't in tasks 2 & 3, unless each preceding task (tasks 1 & 2) is isochronous. Since you specifically make that NOT the case later in your paragraph, the true statement would be "you can assume that no less than xxx time has elapsed since your last invocation, where xxx is the desired/specified periodicity of the loop as forced by the dloop timer." Andy ================================================================== Montana Design Tech Support - http://www.montanadesign.com ==================================================================