podrias poner tu código para ayudarte sobre ese mismo
La verdad no tengo mucho codigo. Ando buscando ideas o sugerencias. Lo que he estado probando fue guardar el valor del timer1 cuando se produce la interrupcion externa, hacer un delay en base a ese tiempo y generar el pulso. El tema es que
necesito un delay igual o mayor al tiempo entre los pulsos de entrada.
#INT_ext
void IntRB0(VOID)
{
t=get_timer1();
set_timer1(0);
delay_us(t);
output_high (PIN_A0);
delay_us(200);
output_low (PIN_A0);
}
void main(VOID)
{
set_tris_b (0b00000001); //portb como salida menos RB0
set_tris_a (0b00000101); //RA0, RA1 y RA2 como salida, el resto entradas
disable_interrupts (global); // Inicializo el Micro y ...
disable_interrupts (INT_timer1); // deshabilitando todo lo no necesario ...
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
setup_timer_2(T2_DISABLED,0,1);
// setup_comparator (NC_NC_NC_NC);
enable_interrupts (INT_ext); // Habilito las interrupciones necesarias
ext_INT_edge (0, L_TO_H); //configuracion:interrupcion cuando señal baja
enable_interrupts (global);
set_timer1 (0);
WHILE (TRUE)
{
un codigo especifico
}
}