Unlike any other board , every pin on Arduino due can be used as interrupt.How that's possible? What is the concept behind that? Apart from due , are there any boards /MCUs that can do the same thing ?
2 Answers
Quite simply, it's because the microcontroller that the Due uses (AT91SAM; datasheet PDF) supports it:
Up to 103 I/O lines with external interrupt capability (edge or level sensitivity), debouncing, glitch filtering and on-die Series Resistor Termination
To the second question, yes, there are plenty of MCUs that have this same feature. For example, you can use the Atmel parts selector to find MCUs whose # of IO pins
== # of external interrupts
.
are there any boards /MCUs that can do the same thing ?
All Arduinos based on the ATmega328 or ATmega168 support a pin change interrupt on every signal pin; Arduinos based on the ATmega1280 or ATmega2560 support a pin change interrupt on nearly every pin ( Arduino: PinChangeInt ).
Many mid-range Microchip PIC chips (PIC16xxx) support a "Interrupt on Change" on all pins of Port B; Mark Palmer wrote app note AN566 about it in 1997. John Temples mentions that PIC18xxx chips have the same feature (and the same bug).
The Microchip PIC24 and dsPIC chips support "change notification interrupt" on many pins which as far as I can tell is the same thing. ( https://stackoverflow.com/questions/12836786/how-to-reset-the-input-pins-after-reading-their-state-in-pic24 ).
Many Texas Instruments MSP430 chips have "interrupt on state change" on most of their pins, which is another way of saying the same thing.