Hola.
Estoy desarrollando un proyecto en MPLAB con C30 y el dsPic33F
El problema con el que me encuentro ahora es la conversion A/D de 3 canales (AN16-AN17-AN18), que corresponden a un acelerometro de 3 ejes.
Para ello, tengo hecho el siguiente programa, pero no me funciona:
Alguien podria guiarme para obtener el valor analogico de los 3 canales?
muchas gracias
void main(void)
{
InitMyOscillator();
ConfigurarHardware();
Init_Interrupts();
Init_ADC();
while(1)
{
}
}
void ConfigurarHardware()
{
ADPCFG = 0xFFFF; // Bits digitales en conexiones de depuracion
ADPCFG2 = 0xFFFF; // Bits digitales en conexiones de depuracion
// Los ejes del acelerometro son analogicos
_PCFG16 = 0; // Eje x
_PCFG17 = 0; // Eje y
_PCFG10 = 0; // Eje z
}
void Init_ADC(void)
{
ADCON = 0x01C0;
ADCPC4 = 0x00A1;
_ADON = 1; // Turn on the A/D converter
_ADCP9IF = 0;
_ADCP9IE = 1; // Turn on interrupt
}
void _ISR_NOPSV _ADCInterrupt(void)
{
LED1 = 1;
LED2 = 1;
IFS0bits.ADIF = 0; // reset ADC interrupt flag
}