En cuanto a tu consulta:
Serie Técnicas en C (en el Foro) (
en PicManía) es un proyecto educativo para enseñar a nuestros amigos que se inician en el C para PIC´s distintas formas de hacer, técnicas, en este caso medir pulsos ó generarlos.
El usar una técnica u otra depende de la disponibilidad que tengamos de los distintos pines, de los módulos que tenga el PIC que utilizamos, de la precisión con que deseemos o podamos hacerlo ... etc. etc. etc.
Si usamos un módulo INPUT CAPTURE obtendremos la precisión máxima con el mínimo de recursos del resto del PIC y de código realizado por nuestra parte, es el hardware del PIC quien realiza la medida, no nuestro código y sólo cuando ésta ha sido capturada interviene nuestro código desde el main tras recibir la correspondiente señal de interrupción.
Si usamos el método al que te refieres desarrollado para usar el
SFR04 (en el foro) (
en PicManía) se utiliza el máximo de recursos del PIC y de nuestro código ya que es crítico que el main esté pendiente de recibir el inicio y el final del pulso, no utiliza interrupciones. Podemos con este método realizar tantas medidas distintas como pines de entrada tengamos disponibles pero si nuestro main se ocupa de muchas mas cosas es mas que probable que perdamos o el pulso o el resto de tareas encomendadas al PIC. Con pulsos largos, con periodos de varios milisegundos, es posible leer de esta forma pulsos en muchos pines desde el main, sobre todo con un 18F4550 con el PLL activado y corriendo a 48Mhz.
Cada forma de medir tiene sus pros y sus contras, depende de qué necesitemos y de qué dispongamos para realizarlo.
Para un trabajo que he tenido que hacer en el que tenía que leer pulsos por un monton de pines he utilizado TODOS los métodos descritos intentando distribuir las señales entre ellos poniendo los mas sensibles en los pines "interrumpibles" y los demás ajustando los periodos muertos en el main para intentar optimizar su captura sin que el resto de funciones se vea demasiado afectado, cuando en el main detecto un flanco de inico deshabilito la/s interrupción/es que mas podría afectarme y cosas por el estilo.
Un saludo.
P.D. __EROS__ haciendo uso de mis privilegios como moderador global de este foro he editado tu Post original para modificar los enlaces a mis páginas porque estaban rotos, los he dirigido a los sitios buenos para que puedan ser visitados.