Posible fallo placa Due

Hola a todos. Hace unos días probé el funcionamiento de los puertos serie de la placa Arduino Due y de alguno de sus pines a 5v (PERO ESTA PLACA FUNCIONA A 3,3V) Entonces... no sé si he roto algo del chip o no ya que cuando utilizo la función delay() tengo algunos problemas. pero también puede resultar que sea algo lógico y no esté rota.

Me gustaría saber si cuando se utiliza una interrupcion del puerto serie cuando en alguna parte se está realizando un delay... el programa queda bloqueado completamente hasta que no acabe el delay... es decir aun cuando se produzca una interrupcion el programa seguira en el delay.

Os adjunto el programa que estoy probando con dicho dlay y dicha interrupcion del perto serie. e hustaría saber por qué tarda tanto en representarse el dato por el puerto serie si el serial.print() lo tengo dentro de la interrupcion del puerto serie y el delay lo tengo en el void loop.

String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete

void setup() {
  // initialize serial:
  Serial.begin(9600);
  // reserve 200 bytes for the inputString:
  inputString.reserve(200);
}

void loop() {
  // print the string when a newline arrives:
  if (stringComplete) {
    
    // clear the string:
    inputString = "";
    stringComplete = false;
   delay(10000);
  }
}

/*
  SerialEvent occurs whenever a new data comes in the
 hardware serial RX.  This routine is run between each
 time loop() runs, so using delay inside loop can delay
 response.  Multiple bytes of data may be available.
 */
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline, set a flag
    // so the main loop can do something about it:
    if (inChar == '\n') {
      stringComplete = true;
      Serial.print(inputString);
      
      
    }
  }
}