¿Qué tal amigos? Estoy programando el ADC del DSPIC33FJ12GP202, no me marca errores a la hora de compilar el programa, sólo que al simularlo no hay conversión.
Alguien que pueda orientarme por favor. ¿En qué estoy fallando?
No tengo mucha experiencia en estas cosas, pero estoy interesado en aprender, muchas gracias de ante mano.
Saludos!
Alguien que pueda orientarme por favor. ¿En qué estoy fallando?
No tengo mucha experiencia en estas cosas, pero estoy interesado en aprender, muchas gracias de ante mano.
Saludos!
Código:
#include <p33FJ12GP202.h>
#define fcy 16000000
_FOSC ( FCKSM_CSDCMD & IOL1WAY_OFF & OSCIOFNC_OFF & POSCMD_XT );
int main (void);
void adc (void);
int main (void)
{
TRISB=0X0000;
adc();
AD1CON1bits.ADON=1; //SE HABILITA EL ADC
while (1)
{
AD1CON1bits.SAMP=1;//INICIA EL MUESTREO
delay_ms(3);
AD1CON1bits.SAMP=0;//TERMINA EL MUESTREO
while(!AD1CON1bits.DONE);// SE HA REALIZADO LA CONVERSIÓN?
PORTB=ADC1BUF0; //LOS DATOS SE GUARDAN EN EL BUFER 0 DEL ADC Y SE MANDAN AL PUERTO B
}
}
void adc(void)
{
TRISA=0X0001; //ENTRADA POR RA0
AD1PCFGL=0; //ENTRADAS ANALÓGICAS
AD1CON1bits.AD12B=1;//ADC DE 12 BITS}
AD1CON2bits.VCFG=0;
AD1CON3=33;
AD1CON1bits.ASAM=1;
AD1CON1bits.SSRC=1;///TERMINA EL MUESTREO
AD1CON1bits.FORM=0;
IFS0bits.AD1IF=1;
AD1CON1bits.DONE=1;
IFS0bits.AD1IF=0;
IPC0bits.T1IP=1;
}
Última edición por un moderador: