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.