TODOPIC

Lenguajes de programación para PC => C, C#, C++ => Mensaje iniciado por: Esau en 28 de Septiembre de 2010, 22:38:00

Título: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
Publicado por: Esau en 28 de Septiembre de 2010, 22:38:00
hOLA AMIGOS, RETOMANDO EL VALIOSO TRABAJO DE JIM con lo de su interfaz usb, necesito sacar datos por el puerto USB cada dos segundos...

Soy nuevo en esto del C#, y se me ocurrio utilizar un timer cuyo time  interval es de 2000, YA QUE NCESITO sacar datos cada dos segundos

si pongo la sentencia

private void timer1_Tick(object sender, EventArgs e)
        {         
           salida_frec = 0x00;
           control.Frecuencia_Salida(salida_frec);                       
        }

la salida 0x00 si se tiene a los dos segundos... El detallle esta en que necesito 20 salidas osea  de la 0x00 hasta la 0x19 y que cada dos segundos se ejecute una a una como le hago????
Saludos
Título: Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
Publicado por: jhozate en 28 de Septiembre de 2010, 23:23:23
bueno, yo estoy dando mis primeros pasos en c#, no se si sea lo mas eficiente pero podrias hacer un ciclo For, seria algo como  for(i=0;i<=19;i++)
Control.frecuencia_salida(i);
Asi entonces cada dos segundos se incrementa i en una unidad hasta 20
Título: Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
Publicado por: tannke en 01 de Octubre de 2010, 17:08:36
Un dato, piensa que de 0x00 a 0x19 no van 20 salidas, sino que van 25 ya que despues  del 0x09 va el 0x0A hasta el 0x0F.

Bueno, a falta de aclarar esto un ejemplo que te podria servir es este:

*entiendo que la variable salida_frec es int y la tienes declarada globalmente, es decir, fuera  del timer1_Tick

          salida_frec = 0;

         private void timer1_Tick(object sender, EventArgs e)
        {
           control.Frecuencia_Salida(salida_frec);
           salida_frec++;
           if(salida_frac == 20) salida_frec=0;         
        }

saludos
Título: Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
Publicado por: fidodido18 en 23 de Noviembre de 2010, 13:02:21
Un dato, piensa que de 0x00 a 0x19 no van 20 salidas, sino que van 25 ya que despues  del 0x09 va el 0x0A hasta el 0x0F.

Bueno, a falta de aclarar esto un ejemplo que te podria servir es este:

*entiendo que la variable salida_frec es int y la tienes declarada globalmente, es decir, fuera  del timer1_Tick

          salida_frec = 0;

         private void timer1_Tick(object sender, EventArgs e)
        {
           control.Frecuencia_Salida(salida_frec);
           salida_frec++;
           if(salida_frac == 20) salida_frec=0;         
        }

saludos

lo mejor es trabajar con los timer, sin embargo me gusta trabajar mas con hilos y al final le coloco un delay para que cada dos segundo entre a competir el procesador con los demás procesos.

hilos y delegados para modificar objetos por eventos:
http://msdn.microsoft.com/en-us/library/aa446540.aspx