TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: nanosegundo en 15 de Noviembre de 2005, 10:18:00
-
Hola, toy programando con niple y hay una cosa que no se me ocurre como hacer:
Por uno de los pines del pic ( de el puerto que sea) me entra un pulso de duración variable y quisiera saber como puedo medir la duración de ese pulso; no uso el módulo ccp porque lo necesito para cuatro pines distintos. ¿Alguien me puede dar una pista?
Munchisimas gracias
-
Se me ocurre que lo más corriente para estos casos es meter el pulso por una patilla con interrupción, cuando esta salte pones el timer a contar, cuando baje, volverá a saltar y tendrás el tiempo en el timer. Según la duración de este pulso, tendrás que configurar el timer y/o ver cuantas veces desbordo ...
-
El problema es que lo necesito para cuatro entradas y solo tengo una entrada de interrupción (16f877).
Gracias de todos modos
-
Se me ocurre una pequeña modificación de lo que me ha dicho radon. Es estar leyendo constantemente el puerto, cuando detecte un 1 en el pin deseado activo el temporizador y este lo detengo cuando haga una lectura de 0, lo podria hacer en paralelo para un total de tres pines (ya que tengo 3 temporizadores) y cuando pase ese pin a 0 finalizar el programa.
¿Es buena idea o tiene algún problema este metodo?
-
No se... pero de esta forma al estar chequeando el puerto, no tiene mucha precisión, porque si el bucle de chearlo son 2 o 3 instrucciones, poniendo por ejemplo un cristal de 20Mhz, 200nS *3 ... hasta 600nS o más puede diferir de la realidad, y esto suponiendo estar chequeando uno solo, cuando sean más pues imaginate...