#include <18f452.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT
#use DELAY (CLOCK=4000000)
#use rs232(baud=9600, UART1)
#use STANDARD_IO (a)
#use STANDARD_IO (c)
//#include <bootloader.h>
int16 counter1=0;
int16 counter2=0;
int segundo=0;
int segundos=0;
//*************** INT TIMER1*********************
#int_TIMER3
void TIMER3_isr(void)
{
segundo = segundo + 1;
if (segundo == 2)
{
segundo=0;
segundos= segundos + 1;
printf("%6lu t0 %6lu t1 %6u seg \n \r", counter1,counter2,segundos);
set_timer0(0); //Borrado contador
set_timer1(0);
}
set_timer3(3036); // Recarga a 0.5s
}
//**********************************************
VOID MAIN()
{
PORT_B_PULLUPS(TRUE);
setup_timer_0(rtcc_ext_l_to_h|rtcc_off); //Configuración TMR0
setup_timer_1(T1_external|T1_DIV_BY_2);
setup_timer_3(T3_internal|T3_DIV_BY_8); //Configuración TMR1
set_timer0(0); //Borrado contador
set_timer1(0);
set_timer3(3036); //Carga a 0.5s
enable_interrupts(int_timer3);
enable_interrupts(global); //Habilitación interrupciones
WHILE (1)
{
counter1=get_timer0(); //Lectura contador TMR0
counter2=get_timer1(); //Lectura contador TMR1
}
}
Observando sobre el tiempo del timer, ¿cual es el tiempo máximo que se puede configurar en un timer? ...horas?...que el pic no se sature o presente otra anormalidad
El timer es un contador interno, y si el microcontrolador no tiene problemas de alimentación no va a fallar.
Pues ya revise todas las conecciones y verifique con un osciloscopio que los encoders funcionen correctamente, ademas no creo que sea la tablilla porque fue madada a manufacturar junto con otras decenas iguales que no han dado ningun problema.
Muchas gracias Suky elimine la parte del rttc_off y ya puedo leer la cuenta de ambos timers :mrgreen:, ahora ya nomas me falta agregar al programa los dos pwm para controlar los motores y de ser posible agregar un algoritmo de calculo odometrico para el robot, si a alguien le interesa abrire otro post sobre mis avances.Muy interesante! Y por supuesto, mas de uno va a estar interesado, así que esperamos los avances :mrgreen:
Saludos y gracias por su ayuda!