TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: ejmc 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
-
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
-
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
-
Hey RGL!!
Donde has sacado el comando Repeat?
Nunca lo vi en PicBasicPro.
Que version utilizas?
o utilizas PBPlus??

-
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
-
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.