Pues eso, que tengo un proyecto entre manos en el cual necesito medir con precision la longitud de un impulso que puede ir entre 800 y 2200 microsegundos con un intervalo de mas o menos 16 milisegundos,
actualmente lo hago entrando en un bucle y mirando el estado del pin y si esta en alto voy haciendo pausas de cuatro microsegundos y aumento una variable en incrementos de cuatro en cuatro unidades hasta que el pin vuelve al estado bajo,
es decir asi:
senal=1 "flanco positivo para comienzo de señal
longitudpulso=0 "longitud del pulso
principal:
while entrada=senal "si hay flanco de señal en puerto de entrada
longitudpulso=longitudpulso+4 "acumula para saber longitud del pulso
pauseus 4
wend
if longitudpulso>0 then
serout terminal,2,[#longitudpulso,10,13]
longitudpulso= 0
else
goto ----- otras rutinas de programa -----
---como ya dije el intervalo es de +/- 16 ms de modo que
---hago algunas cosillas y vuelvo otra vez aqui.
endif
goto principal
pero no se si hay una forma mejor o mas precisa para hacer esto.
cualquier sugerencia sera bienvenida.
Un Saludo a tod@s