> > When I use a PIC, I want real-time performance. Must resist AVR jab.. MUST resist!.. So I use interrupts > for anything external and a loop in the main program that checks to > see if any of my interrupt routines need more processing. I only > use that if my interrupt routine is going to take too long and then > it just does the minimal amount of processing necessary and sets > a flag for the main loop. Agreed. ISRs should only do what they NEED to do. I've seen cases of huge ISRs that caused problems that way. Huge of course in time to execute. Sometimes writing them big is the best way to write them fast. In the AVR, I reserve a couple of "w" register equivalents specifically for the ints, and I reserve a register to hold the SREG contents, so I avoid two or three push/pops that way. I've never been so pushed for register space that I couldn't afford an ITEMP, ITEMP2, and an STEMP. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist