Domanda

Ho un pulsante START e STOP. Quando mi ha colpito START, ho eseguito un mucchio di codice nel mio callback. Si tratta fondamentalmente di una sequenza "script" che apre le valvole, eroga acqua e quindi chiude le valvole ... non c'è while () e non si ripete. Voglio essere in grado di fermare questo processo in qualsiasi momento utilizzando il pulsante STOP. La maggior parte delle risposte relative che ho visto sono nei casi in cui viene utilizzato un ciclo while (). Alcune persone hanno anche suggerito di periodicamente controllare se il tasto STOP è stato premuto (utilizzando una variabile variabile o maniglia).

Dal momento che non ho un ciclo while, non posso risolverlo in questo modo. Inoltre, mi piacerebbe essere in grado di uscire immediatamente, senza dover controllare periodicamente (in quanto la verifica più volte nel mio codice sarebbe brutto e confuso). C'è un modo per risolvere il callback che è stata interrotta dalla tasto STOP? In caso contrario, è possibile avere il tasto START eseguire un file .m e quindi avere il tasto STOP terminare quel file .m?

Lo scenario peggiore sarebbe quello di controllare periodicamente una variabile.

UPDATE: Beh, sembra che lo scenario peggiore è quello che viene suggerito da MATLAB ... http: // www .mathworks.com / supporto / soluzioni / it / dati / 1-33IK85 / index.html? product = ML & soluzione = 1-33IK85

Grazie.

È stato utile?

Soluzione

Che si tratti di un ciclo o no, sarete costretti ad inserire 'posti di blocco' nel codice in cui l'esecuzione del programma deve continuare o interrompere. Guardando funzioni , il comando return riprenderà l'esecuzione in un punto desiderato.

Tutto è possibile scegliere è il 'metodo' di propagazione 'Stop Trigger' utilizzando Eventi e ascoltatori o la soluzione fornita da The MathWorks.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top