As I recall, the external interrupts are edge triggered, so it would not matter how long the pin stayed in either state. It sets the IF flag on the edge, not the level. If your ISR does its work and clears the IF while the pin is still high, that's fine. Assuming a positive edge tigger, the edge when the pin goes low is ignored, and the following positive edge is detected. You mention you have a switch driving the external interrupt pin. Are you dealing with switch bounce? You could generate a bunch of interrupts on one switch closure, and again when the switch is released, due to bounce. You can debounce in hardware prior to the interrupt line, or, instead, poll the switch using a timer interrupt and require the switch to be in the same position for some number of calls of the timer interrupt. Harold -- FCC Rules Updated Daily at http://www.hallikainen.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist