Autor Tema: ciclo que dependa del tiempo  (Leído 2291 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado puroh

  • PIC10
  • *
  • Mensajes: 3
ciclo que dependa del tiempo
« en: 04 de Abril de 2011, 23:08:32 »
hola este es el primer tema que creo. :)

Ahora he  estado buscando una forma para que un ciclo (sea whille for) me dependa del tiempo. por ejemplo: que me haga las instrucciones dentro del ciclo y las repita hasta un determinado tiempo por ejemplo 4 milisegundos. he estado leyendo y busacando pero no he encontrado algo que me sirva, la única mas viable que vi es contar las rutinas según la velocidad del reloj y repetir las rutinas hasta el tiempo requerido pero no es algo muy practico ya que se ira cambiando constantemente este tiempo.

mas o menor quiero algo asi


 while(x<=4ms ){      //   Repetir el ciclo mientras no hayan pasado 4 mili segundos


                         output_porb( 0x8f);
                         .......

                         ............
                           ......
                           etc;
                                   }


gracias con los que me puedan colaborar para terminar mi proyecto (:
                         


Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: ciclo que dependa del tiempo
« Respuesta #1 en: 04 de Abril de 2011, 23:24:21 »
has probado usando la interrupcion de algun timer?
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: ciclo que dependa del tiempo
« Respuesta #2 en: 04 de Abril de 2011, 23:26:47 »
has probado usando la interrupcion de algun timer?

Estoy con jhozate, lo más adecuado es usar un timer.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Re: ciclo que dependa del tiempo
« Respuesta #3 en: 05 de Abril de 2011, 02:56:23 »
se me ocurre algo como esto.


Código: [Seleccionar]
i=0;
      //   Repetir el ciclo mientras no hayan pasado 4 mili segundos

                   for(i=0;i<=4000;i++))    //repetimos hasta completar  4000*1us=4ms
                         {  delay_us(1);
                             
                                tu_codigo();

                           }       




Desconectado puroh

  • PIC10
  • *
  • Mensajes: 3
Re: ciclo que dependa del tiempo
« Respuesta #4 en: 07 de Abril de 2011, 16:02:00 »
gracias por las respuestas

pues he intentado hacer pruebas con interrupciones pero no las entiendo. :(
investigare acerca de estas y veré si hacen lo que necesito.


se me ocurre algo como esto.


Código: [Seleccionar]
i=0;
      //   Repetir el ciclo mientras no hayan pasado 4 mili segundos

                   for(i=0;i<=4000;i++))    //repetimos hasta completar  4000*1us=4ms
                         {  delay_us(1);
                             
                                tu_codigo();

                           }       





analizando el código miro que el ciclo puede funcionar, pero me tocaría contar el tiempo en que ejecuta las instrucciones dentro del ciclo para descontársela al "i<=4000" y que quede para 4ms, obviamente no tiene que ser preciso con una tolerancia del 10% me bastaría.
pero detodas formar lo ensayare talvez la solucion sea asi de sensilla. :-/


Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: ciclo que dependa del tiempo
« Respuesta #5 en: 07 de Abril de 2011, 17:14:58 »
  Básicamente lo que hace la interrupción es detener la ejecución normal del programa para saltar hacia una subrutina o función, y luego, al retornar de dicha función volvés al lugar desde donde se la llamó.

  Entonces, en tu rutina de interrupción del timer podés incrementar un contador.
  En tu ciclo do-while del programa principal vas verificando el valor de dicho contador y cuando supera cierto número salís del ciclo.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: ciclo que dependa del tiempo
« Respuesta #6 en: 07 de Abril de 2011, 19:56:02 »
Hola.

Se puede asignar también un Flag de aviso para cuando la interrupción termine el conteo y el ciclo while estaría condicionado con esa bandera ..

Saludos
El papel lo aguanta todo