Pregunta

Tengo un botón de inicio y fin. Cuando golpeo START, corro un montón de código en mi devolución de llamada. Se trata básicamente de un "guión" secuencial que abre las válvulas, dispensa agua y luego cierra las válvulas ... no hay tiempo () bucle y no se repite. Quiero ser capaz de detener este proceso en cualquier momento utilizando el botón STOP. La mayoría de las respuestas relacionadas que he visto son los casos en los que se utiliza un bucle while (). Algunas personas han sugerido también que periódicamente comprobar si se ha pulsado el botón STOP (usando una variable variable o mango).

Desde que no tengo un bucle while, que no puede resolver de esa manera. Además, me gustaría ser capaz de salir de inmediato, sin tener que comprobar periódicamente (porque se comprueban varias veces en mi código sería feo y confuso). ¿Hay una manera de interrumpir la devolución de llamada que fue interrumpido por el botón STOP? Si no es así, es posible tener el botón START ejecutar un archivo .m y luego tener el botón STOP terminar ese archivo .m?

El peor escenario sería comprobar una variable periódicamente.

ACTUALIZACIÓN: Bueno, parece que el peor de los casos es lo que se sugiere por MATLAB ... http: // www .mathworks.com / soporte / soluciones / en / data / 1-33IK85 / index.html? producto = ML & solución = 1-33IK85

Gracias.

¿Fue útil?

Solución

Ya se trate de un bucle o no, que se verán obligados a insertar 'puntos de control' en su código en la ejecución del programa continuarán o parada. En cuanto a , return comando reanuda la ejecución en un punto deseado.

Todo lo que puede elegir es el 'método' de propagación 'Stop Trigger usando Eventos y oyentes o la solución proporcionada por The MathWorks.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top