Hola:
Estoy comenzando a trabajar con el 30f3010, y realize un pequeño programa para hechar a andar el ADC, lo compilé sin ningún problema pero cuando lo programé no hizo nada, se supone que este programa deberia leer las conversiones del ADC y mostrarlas en el puerto E.
He revisado el programa y en realidad no puedo ver el error, espero que alguien me pueda ayudar con eso, en fin aqui esta la rutina, cualquier ayuda será agradecida.
#include "p30f3010.h"
int prom=0;
void main(void){
ADCSSLbits.CSSL0=1;
ADPCFG=0xFFFE;
ADCON2bits.CHPS=1;
ADCON1bits.SSRC=0;
ADCON2bits.SMPI=4;
TRISB=0b111111110;
ADCON1bits.DONE=0;
IFS0bits.ADIF=0;
TRISE=0;
IEC0bits.ADIE = 0;
for(;

ADCON1bits.SAMP=0;
PORTE=prom;
}
void __attribute__((__interrupt__, __shadow__)) _ADCInterrupt(void)
{
int b;
b=ADCBUF0+ADCBUF1+ADCBUF2+ADCBUF3;
prom=b/4;
ADCON1bits.DONE=0;
IFS0bits.ADIF=0;
}