Llamar o meter una función dentro de una función ISR

Hola a todos, estoy haciendo un brazo robótico, y estoy tratando de implementar un botón de emergecia. Quisiera saber si es posible dentro de la función de una interrupción (el botón de emergencia) el poder llamar a otra función que lo que hace es llevar al robot a una posición de reposo.

De momento solo tengo puesto un serial.print (ya se que no es lo más adecuado) que aparece en pantalla cada vez que pulso el boton:

ISR(PCINT0_vect) {
  interrupt_state = (PINA & 0x04) >> 1;
  Serial.println("EMERGENCY BUTTON!");
}

Y esta es la funcion que querria llamar o meter dentro de la función de la interrupción:

void go_to_position(int pos1[], int pos2[], int servo)//function
{
  while (pos1[servo] != pos2[servo])
  {
    if (pos2[servo] < pos1[servo])
    {
      dxlSetGoalPosition(SERVO_ID[servo], pos1[servo]);
      pos1[servo]--;
      delayMicroseconds(800);
    }
    else if (pos2[servo] > pos1[servo])
    {
      dxlSetGoalPosition(SERVO_ID[servo], pos1[servo]);
      pos1[servo]++;
      delayMicroseconds(800);
    }
  }
}

Muchas gracias!

Urko.