LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

timer

Estoy capturando sonido desde labwindows y mi procedimiento de captura está manejado por un timer q cada cierto tiempo envia los buffers al dispositivo de captura, mi pregunta es como puedo hacer que se pare la captura con un command button. mi problema es que la diferencia de tiempo entre el timer y la captura es minima entonces el command button no funciona. Si el tiempo del timer es mayor pierdo informacion del buffer y si es menor no entra en la funcion callback hasta q no termine de ejecutar la captura.   ayudadme por favor !!!!
0 Kudos
Message 1 of 2
(2,936 Views)

Si he entendido bien, en tu programa no logras parar el timer porque siempre está ejecutando su rutina y no siente la presión del pulsante de paro.

En situaciones semejantes yo no he utilizado un botón simple sino un toggle button, esto es un botón que permanece "pulsado" una vez que sea operado: añadiendo un ProcessSystemEvents () directamente dentro de la routina del timer y testeando después el valor del botón deberías lograr interceptar el pedido de paro y reaccionar de la manera correcta. Después tendrás que volver el botón a la posición de off con SetCtrlVal (panel, button, 0)

Otra solución podría ser inabilitar el timer en la routina del botón de stop [SetCtrlAttribute (panel, timer, ATTR_ENABLED, 0) ], pero siempre tendrás que anadir el ProcessSystemEvents en la routina del timer para que el sistema logre interceptar la presión del botón.

 

Y finalmente, puesto que no hay muchos hispanohablantes en este foro, tendrás mayores probabilidades de una contestación rápida si logras poner tu pregunta en inglés.

Espero haberte ayudado un poco.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 2
(2,909 Views)