Autor Tema: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#  (Leído 3585 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Esau

  • PIC10
  • *
  • Mensajes: 16
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

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
« Respuesta #1 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
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
« Respuesta #2 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

Desconectado fidodido18

  • PIC18
  • ****
  • Mensajes: 312
Re: Interfaz USB.. como mandar una secuencia de datos cada 2 segundos en C#
« Respuesta #3 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


 

anything