Hola buenas, tengo el siguiente problema al realizar una interrupcion por timer con el pic 18f4550 aver si alguien puede ayudarme a encontrar el problema. El problema es que el timer interrumpe un nº muy bajo de veces (17 veces en mi caso) y se queda sin interrumpir mas,no consigue llegar al final del contador (0xff). el esquema que tengo es el siguiente:
Gracias de antemano.
Bueno ya he dado con la solución. En modo sleep solo se le puede "despertar" con un reloj externo.
Código:
int32 const num_int=0xff;
int32 tiempo=0;
int8 modo_sleep;
#int_timer1
void diezsegundos()
{
if (tiempo>num_int)
{
modo_sleep=false;
tiempo=0;
}
else
{
modo_sleep=true;
tiempo++;
}
clear_interrupt(int_timer1);
}
void main(void)
setup_timer_1(t1_internal | t1_div_by_8);
set_timer1(0);
enable_interrupts(int_timer1);
enable_interrupts(GLOBAL);
while (TRUE)
{
while (modo_sleep)
{
sleep();
}
// RESTO DE PROGRAMA
}
Bueno ya he dado con la solución. En modo sleep solo se le puede "despertar" con un reloj externo.
Última edición: