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).
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
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: