Re: Will ISR's be supported?
An interrupt service routine (ISR) is a function that is executed when a change happens on the Arduino. Normally
it's when a particular digital pin changes value (goes from low to high or high to low). When that happens, the Arduino interrupts
whatever code was being executed and immediately executes the ISR function.
Simple example: a button is hooked up on digital pin 2. If that button is pushed it forms a circuit making digital pin 2 go from low to high. When that happens the Arduino stops what it was doing and calls your ISR function.
Here is a real basic example from the Arduino website http://arduino.cc/en/Reference/AttachInterrupt
In the code the function blink() is called whenever interrupt 0
changes (interrupt 0 is digital pin 2 just to make it confusing
I normally use interrupts for quadrature encoders on motors. As a motor spins, a pulse (actually two) is sent from the encoder to the Arduino. I count each pulse using an ISR and I can determine how much the motor has spun and in which direction. The NXT motors for example have encoders inside them and they too send pulses to the NXT (through pins 5 & 6 to be exact).
There are also timer interrupts as (as well as interrupts for I2C, SPI, UART, etc...).