Porque no consideras programar en ATMEL STUDIO 6.2. Ahi tenés toda la flexibilidad posible.
Amplio esta respuesta
El DUE tiene capacidades de interrupción muy potentes que permiten atachar una funcion de interrupción a cualquier pin. Lo podes hace con esta funcion attachInterrupt()
Sintaxis
attachInterrupt(interrupt, ISR, mode)
attachInterrupt(pin, ISR, mode) (Arduino Due solamente)
Parametros
interrupt: Numero de la interrupción (int)
pin: Número del pin (Arduino Due solamente)
ISR: La ISR que llama cuando la interrupción ocurre, esta función no tiene parámetros y retorna nada. Esta función muchas veces es conocida como rutina de servicio de interrupción.
MODO:
Defines when the interrupt should be triggered. Four contstants are predefined as valid values:
LOW to trigger the interrupt whenever the pin is low,
CHANGE to trigger the interrupt whenever the pin changes value
RISING to trigger when the pin goes from low to high,
FALLING for when the pin goes from high to low.
The Due board allows also:
HIGH to trigger the interrupt whenever the pin is high.
Un ejemplo
Example
int pin = 13;
volatile int state = LOW;
void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE);
}
void loop()
{
digitalWrite(pin, state);
}
void blink()
{
state = !state;
}