Primero tendrías que definir con que frente llega el pulso, si con la subida o la caida, o sea con frente positivo o negativo respectivamente. Recordemos que un pulso es así:
____
|___| si es con frente negativo, es decir comienza con la caida y termina en el instante en que comienza la caída de la señal.
___
| |___ si es con frente positivo, es decir comienza con la subida y termina en el instante en que comienza la subida de la señal.
Luego para medir cuanto dura el pulso, que es lo mismo que medir cuanto tiempo hay entre un pulso y otro, suponiendo que todos los pulsos son del mismo período, basta con echar a andar un contador con el frente que inicia el pulso y detenerlo con el frente que inicia el siguiente. Para eso los PICs disponen de un módulo muy útil el CCP, que trabaja de conjunto con un temporizador, típicamente el TIMER1 y si el dispositivo tiene otros timers con el 1 y el 3.
El procedimiento es bastante simple, aunque a algunos pueda parecerle lo contrario. Basta con configurar el CCP para que haga la captura del TIMER1 con cada frente que nos interesa y llevar la cuenta de los desbordamientos del TIMER1 y de las interrupciones del CCP, un breve estudio de ambos periféricos es un método muy útil para saber exactamente cuanto dura un pulso, o que distancia separa a uno de otros en un tren de pulsos donde todos son de la misma duración.
Saludos
Reinier