Hola que tal.
Os escribo para ver si alguien me puede hechar una mano con el siguiente código, que al parecer no funciona.
Estoy tratando de hacer parpadear un led conectado al pin B7 del PIC 18f452 cada 500 ms, mediante un numero determinado de descargas del Timer 0, o RTCC.
Lo que no consigo averiguar es por qué el programa no va bien; a continuacion os paso el código:
#include <18F452.H>
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP,NOCPD,WRT
#use delay( clock = 8000000 )
#use fast_io(B)
#define pulsos 6
long contador=0;
#int_rtcc void interrupcion(void)
{
set_rtcc(pulsos);
contador++;
}
void main( void)
{
set_tris_b(0x00); // puerto B como salida
setup_counters(RTCC_INTERNAL,RTCC_DIV_32);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
set_rtcc(pulsos);
while(1)
{
if(contador==125) // 0.5s/4ms=125 veces se ha de descargar T0
{
contador=0;
output_bit(PIN_B7,!input(PIN_B7));
}
}
}
Si podéis hecharme una mano os lo agradecería.

Un saludo