Autor Tema: CONTADOR DE TIEMPO?????????  (Leído 2549 veces)

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

Desconectado ejmc

  • PIC18
  • ****
  • Mensajes: 311
CONTADOR DE TIEMPO?????????
« en: 06 de Noviembre de 2003, 18:27:00 »
HOLA A TODOS/AS
NECESITO CONTAR TIEMPO ENTRE QUE SE PRODUCEN DOS EVENTOS Y NO TENGO LA MAS PALIDA IDEA DE COMO HACERLO,QUIEN PUEDE DARME UNA MANO, ESO SI, EN PBP.
BUENO ESPERO SUS RESPUESTAS.SALUDOS
                            JUAN
 

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: CONTADOR DE TIEMPO?????????
« Respuesta #1 en: 06 de Noviembre de 2003, 20:16:00 »
Puedes contar tiempo de dos formas princialmente:

Usando un bucle de programa, por ejemplo For o Repeat o While y tatos bucles corresponden a un tiempo según la frecuencia del oscilador. Esto tiene el inconveniente de que si te paras a contar vueltas no puedes hacer otra cosa y además si el programa se bifurca por sitios diferentes no tendrás precisión. Es posiblemente la forma más fácil y la más inexacta pero si no necesitas exactitud puede servirte.

Otra forma más elegante es usar uno de los timer del micro. Co este método tienes dos formas de hacerlo: por interrupción y por pooling del flag del timer:

Si lo haces por interrupción cada vez que tu timer se desborda porque ha llegado a la cuenta máxima el flag se activa y salta una interrupción. Ahí tu rutina de interrupción hace algo con ese tiempo que es exacto: cuentas segundos, milisegundos o lo que quiras. Este modo tiene la ventaja que el micro puede hacer otras cosas mientras su timer está contando, perdiendo un poco de tiempo para atender a la interrupción cuando se produce.

Si lo haces por pooling del flag del timer, eres tu por programa el que vas chequeando cuando se produce un desbordamiento del timer. Aquí pierdes un poco más de tiempo que en la interrupción pero puede ser válido en algunas aplicaciones.

Ejemplodel timer los puedes encontrar en www.melabs.com

Saludos
Ricky

Si usas el timer

Desconectado ejmc

  • PIC18
  • ****
  • Mensajes: 311
RE: CONTADOR DE TIEMPO?????????
« Respuesta #2 en: 08 de Noviembre de 2003, 00:41:00 »
BUENO GRACIAS POR EL DATO, PERO NO TENGO LA MENOR IDDEA DE COMO FUNCIONA ESE TIMER, ASI QUE VOY A VER QQUE SACOO DE ESA PAGUINA ,DE TODAS FORMAS SIGO ESPERANDO OTRAS RESPUESTAS. GRACIAS
JUAN

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
RE: CONTADOR DE TIEMPO?????????
« Respuesta #3 en: 08 de Noviembre de 2003, 05:03:00 »
Hey RGL!!
Donde has sacado el comando Repeat?

Nunca lo vi en PicBasicPro.
Que version utilizas?
o utilizas PBPlus??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: CONTADOR DE TIEMPO?????????
« Respuesta #4 en: 08 de Noviembre de 2003, 20:01:00 »
No lo he usado nunca y no recuerdo si esta en la 2.43 o en la 2.44 de PBP. Yo trabajo con la 2.33.

Te confirmo esta en la 2.44.

Hace poco que la han sacado y no esta muy extendida.


Saludos
Ricky

Desconectado ejmc

  • PIC18
  • ****
  • Mensajes: 311
RE: CONTADOR DE TIEMPO?????????
« Respuesta #5 en: 08 de Noviembre de 2003, 22:11:00 »
Hola, yo aca sigo con el tema de medir el tiempo de una señal, estoy tratando con la instruccion PULSIN y con un osc de 20MHz tengo una resolucion de 2us ,¿alguien tiene una idea de como hacer para que tenga una resolucion de  1us??????.
Con eso de la repeat, yo creo tener el pbp 2.40 y esa instruccion no la tengo. ¿que pasara?.
Bueno,haber que pasa con esto del pulso. Saludos a todos.