Matlab - Ejecutar programas en paralelo

 
Vista:

Ejecutar programas en paralelo

Publicado por Guillermo (4 intervenciones) el 14/10/2010 09:06:01
Hola:

Mi duda es la siguiente.

He creado un programa con una GUI que ejecuta una función si se pulsa un botón la cual contiene un bucle infinito que me gustaría controlar su salida desde otro de los botones.

¿Como puedo hacer esto?

En principio explico el programa y la GUI.

El programa del bucle es una captura de fotos temporizada para una webcam que debe ser indefinida hasta que el usuario indique que quiere detenerlo. El caso es que no sé como detenerlo (sin usar CTRL+C desde la consola, claro), pues las funciones de los botones quedan en la funcion que genera la GUI y al llamar a la primera, a pesar de realizar las pulsaciones en los botones, matlab no hace caso pues ha entrado en el bucle.
No sé si me explico bien.

Lo que pretendo es que el programa de la GUI se siga ejecutando y pudiendo obtener resultados de pulsar los botones mientras que en paralelo se ejecuta el bucle infinito. De este modo, pudiendo en el bucle revisar una variable global que es la que nos indica si paramos o no.

Un saludo y gracias por adelantado.
Guillermo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ejecutar programas en paralelo

Publicado por korkin (3 intervenciones) el 08/01/2011 13:40:27
hola..
no hace mucho un amigo me presto la estructura de un programa que basicamente hace lo mismo.
toma foto de 1 a 200, el problema en ese entonces era detener a voluntad el procesos
aqui te dego lo ke teniamos.
nota:tag3 es el boton para tag2 es el botn de inicio
function tag2_Callback(hObject, eventdata, handles)
---------------------------------------------------------------------------------------------------------------------------
q=0;
while 1 % Ciclo infinito hasta presionar botón PARAR
if get(handles.tag3,'UserData')==1%user data es como el valor logico dell boton
break % Sentencia que termina con el ciclo WHILE al cambiar un de estado un
%boton
end
%COMANDO DE OPERACION

foto=getsnapshot(handles.video);
imwrite(foto,'DC2.jpg');
I=imread('DC2.jpg');
aqui iva la mayor parte del programa pero la borre
end % fin del ciclo while
---------------------------------------------------------------------------------------------------------------------------
el otro boton , el que detenia aplicacion se configuraba asi
---------------------------------------------------------------------------------------------------------------------------
function tag3_Callback(hObject, eventdata, handles)

set(handles.tag3,'UserData',1);% este linea forza el valor de usedata que tiene asociado %el tag3(mi boton "para"), a otra cosa nose porke razon pero no nos funcaba de la forma que deberia ser, osea solo aprentando el boton para
-------------------------------------------------------------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ejecutar programas en paralelo

Publicado por ivan (1 intervención) el 01/11/2011 19:37:28
hola muchachos alguien me podria ayudar con el siguiente programita
necesito parar un toggle buton o un push buton con otro de los mismos
esto es para hacer una grabadora con la funcion audiorecorder
entonces necesito parar un callback a partir de otro

alguna idea ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar