Problema configurando el AD en modo automático (18F4550)

Hola a todos, antes de nada decir que me estoy introduciendo en el mundo de los PICs así que puedo estar cometiendo cualquier tontería de error.

En mi afán de aprender la programación de estos, estoy tratando de realizar un sencillo código (en mikroC) para realizar la captura/conversión del AD de forma automática mediante el CCP2 en el Timer 1. El problema reside en que en ningún momento salta la interrupción, ni del AD ni del Timer (la configuro con la unica intención de comprobar si el timer está en funcionamiento).

Código:
unsigned int Canal = 0;

unsigned int Timer1_Vueltas = 0;

void interrupt(void){
     if (ADIF_bit){
        if (Timer1_Vueltas<7)
           Timer1_Vueltas+=1;
           
        else{
           Timer1_Vueltas=0;
           
           ADCON0 |= (Canal*4);
           ADIF_bit=0;
        }
     }
}

void interrupt_low(void){
     asm{nop};
}

void Config_AD(){
     ADCON1=0b00111110;
     ADCON2=0b10001010;
     ADCON0=0b00000001;
}

void Config_Temporizacion(){
     T1CON=0b10110000;

     
     CCP2CON=0b00001011;
     CCPR2H=0x24;
     CCPR2L=0xf4;
}

void Config_Interrupciones(){
     
     ADIF_bit=0;
     ADIE_bit=1;
     
     CCP2IF_bit=0;
     CCP2IE_bit=1;
     
     TMR1IF_bit=0;
     TMR1IE_bit=1;
     
     GIE_GIEH_bit=1;
     PEIE_GIEL_bit=1;
}

void main(){
     TRISD=0x00; //Salida
     TRISE=0x00; //Salida
     TRISB=0xFF; //Entrada
     
     //Lcd_Init();
     
     Config_AD();
     Config_Temporizacion();
     Config_Interrupciones();
     
     TMR1ON_bit=1;
     
     while(1){
              asm{nop};
     }
}


Se que existen funciones propias del MikroC para el uso del AD, pero quiero aprender el funcionamiento interno del PIC y realizar la captura lo más precisa y optimizada posible, por lo que prefiero no usarlas.

Así mismo, aprovecho para preguntar: ¿Existe alguna ventana, bien en MikroC o en MPLAB, para comprobar la configuracion de las interrupciones, periféricos, etc. al estilo del Keil uVision?


Muchas gracias
 
Última edición:
Hola:
Ya que buscas controlar un poco más al PIC te sugiero que leas la hoja de datos del mismo.
Detalles de cada registro que utilises para la configuración además en los 18F hay configuracion de prioridad por tener dos vectores de interrupción.

¿Existe alguna ventana, bien en MikroC o en MPLAB, para comprobar la configuracion de las interrupciones, periféricos, etc. al estilo del Keil uVision?

MikroC no se, solo he visto el debugger y en el MPLAB hay herramientas como el StimulusController que te pueden servir.

un saludo
 
Hola ByAxel,

Actualmente uso de forma practicamente exclusiva el datasheet del micro, a la vez que un manual pero de la familia 18f87*, por lo que en este caso no me sirve de ayuda.

El MPLAB en su momento no logré hacerlo funcionar, pero trataré de usarlo de nuevo a ver si ahora me entiendo con el y me es de ayuda.

Gracias,
saludos
 


el ccs me recomiendas utilizarlo integrándolo en MPLAB X o utilizando su entorno propio?

Solo te sugiero que uses el mismo entorno del CCS por que tengo problemas de compilación al usar el MPLABX mas el CCS; pero puedes usar el compilador CX8 del mismo MPLABX para aplicaciones en C y a la vez conocer más a detalle los registros del PIC, etc..

Saludos
 
Última edición:
Atrás
Arriba