Problema interrupciones Arduino UNO

Buenas noches,

Me encontraba trabajando con las interrupciones del Arduino UNO (0 y 1 fijadas en los pines 2 y 3 respectivamente) cuando me he dado cuenta de que (al menos en mis placas) no funcionan correctamente. Los pines 2, 3 y 4 (sí, el cuarto también) responden a la interrupción 0.

Convencido de que debía tratarse de un error puntual de mi placa he cambiado a otra que tenía "sin abrir" y he obtenido el MISMO comportamiento.

¿Alguno que pueda echarme una mano con este asunto? ¿Le ha ocurrido esto a alguien anteriormente?

Gracias y un saludo,

Víctor.

Solucionado!

Se trataba de que los pines estaban acoplándose. Es necesario establecer "pull-up" o "pull-down resistors". Este simple código deja claro que todo funciona correctamente:

int pin = 13;
volatile int state = LOW;

void setup()
{
  pinMode(pin, OUTPUT);
  pinMode(2, INPUT);
  digitalWrite(2, HIGH); // pull up resistor
  pinMode(3, INPUT);
  digitalWrite(3, HIGH); // pull up resistor
  
  attachInterrupt(0, blink1, RISING);
  attachInterrupt(1, blink2, RISING);
  
  Serial.begin(9600); // send and receive at 9600 baud
}

void loop()
{
  digitalWrite(pin, state);
}

void blink1()
{
  Serial.println("Called interrupt1");
  state = !state;
}

void blink2()
{
  Serial.println("Called interrupt2");
  state = !state;
}

Espero que le pueda servir a alguien de ayuda.

Un saludo,

Víctor.