I just had one of those moments... :) I came to the realization that the cooperative multitasking model that I've used as the core of my applications for years, is nothing more than how a teenager behaves. When any chore is due: (system call to transmit a byte) First, find any possible reason NOT to do the chore. (Uart busy, Handshake asserted?) Second, see if it REALLY needs doing (anything to send?) If it absolutely can't be avoided, then do it. (start transmitting a byte, mark uart busy) As a result, my systems spend most of their time spinning in a loop, doing nothing. But, here is where they exhibit their most non-teenager behavior! They are always looking for something to do. But, that's only because they don't know anything else. _______________________________________________ http://www.piclist.com View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist