Consulta con Timer en C#

06/10/2004 - 20:51 por PabloT | Informe spam
buenas,queria implementar un timer para que me verifique
cada segundo el puerto com1 con un dispocitivo que envia
informacion al puerto varias veces por segundo, logro
capturar la info del dispocitivo , pero no logro que
cuando no este conectado o no me envie info al puerto me
cierre la conexion con vtimer.Enable=false y me muestre
en un mensaje o me ponga en "error" un textBox.
Desde ya les agradezco..la mano.
 

Leer las respuestas

#1 Zephryn Xirdal
06/10/2004 - 21:46 | Informe spam
Entiendo que la frecuencia del timer es bastante mayor que el segundo que
quieres de timeout.
Ponte una variable que sea un contador. Cada vez que recibas algo del puerto
serie a través del timer, la pones a cero. Y si se dispara el timer y no
tienes nada en el puerto, la incrementas en uno. Si llegas a n ticks sin
recibir nada, es que tienes un timeout, rellena lo que quieras y paras el
timer.

Pero la mejor opción es utlizar una función de callback que se llame cada
vez que recibas algo del puerto serie, y luego con el timer sólo has de
mirar los ticks de la variable en cuestión (o el tiempo transcurrido en el
reloj del sistema), así seguro que no te pierdes nada... la precisión de los
timers de windows es bastante baja. Busca en www.codeproject.com algún
ejemplo que implemente una captura del puerto serie, allí vendrá cómo
instalar un callback utilizando el api nativa de Win32.



"PabloT" escribió en el mensaje
news:0edb01c4abd5$86a87ff0$
buenas,queria implementar un timer para que me verifique
cada segundo el puerto com1 con un dispocitivo que envia
informacion al puerto varias veces por segundo, logro
capturar la info del dispocitivo , pero no logro que
cuando no este conectado o no me envie info al puerto me
cierre la conexion con vtimer.Enable=false y me muestre
en un mensaje o me ponga en "error" un textBox.
Desde ya les agradezco..la mano.

Preguntas similares