ejecutar parte de un código mediante pulsadores

Hola necesito ejecutar parte de un código cuando pulse un botón y que se siga ejecutando aun cuando lo suelte, pero que al pulsar otro botón ejecute otra parte del código y que detenga la anterior, he probado con el comando if, pero no logro hacerlo funcionar como quisiera, alguna idea?

la placa es la arduino due

gracias

Es un problema básico de programación. No trabajes directamente, es decir, no pongas tu rutina dentro de la condición del botón pulsado. Usa flags. Un flags es una bandera, que se pone en 1 o 0 según un evento, que puede ser la presión de un pulsador.

lo defines asi.

el flag o bandera toma dos valores 1 o 0, true o false (Verdadero o falso). Entonces supongamos que presionas una tecla

bool flag1 = false; 
bool flag2 = false;

   if (digitalRead(2) == HIGH) { // cuando presionas el boton del pin2 activas el flag
      flag1 = true;
      flag2 = false;
   }
   if (digitalRead(3) == HIGH) { //ahora presionas otro botón
      flag1 = false;
      flag2 = true;
  }
   if (flag1) 
      rutina1();
   if (flag2)
      rutina2();