hola, ¿funcionaría esto bien? lo que debería hacer es poner el ra0 a 1 cuando salte la interrupcion del timer0. Más o menos debería ser un segundo. Los valores tanto para el contador, el timer0 y el prescaler pongo los mismos que uso en un programa en asm, y que hace temporizaciones de 1 segundo bastante buenas. Contador=250, Prescaler=16,Timer0=6
Tengo varias dudas en el programa como por ejemplo:
¿en qué momento empieza a contar el timer0? ¿cuando se ejecuta set_timer0(6); puede ser?
y otra, una vez que salta la interrupcion... si quiero recargar qué instrucciones debería añadir?
es que vengo del asm y no tengo muy claro lo del ccs, parece que faltan cosas je je.
un saludo.
el código es este:
#include <16f84a.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay (clock=4000000)
#use fast_io(a)
int Contador = 250;
void main()
{set_tris_a(0xFE);
enable_interrupts(GLOBAL);
enable_interrupts(INT_TIMER0);
output_low(PIN_A0);
setup_counters(RTCC_INTERNAL,RTCC_DIV_16);
set_timer0(6);
do {
} while (TRUE);
}
#INT_TIMER0
void interruption()
{Contador ++;
if (Contador == 0){
output_high(PIN_A0);
}
//set_timer0(6);
//RESET TIMER 0
}