TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: fram_22 en 20 de Noviembre de 2007, 01:18:34

Título: ADC dsPic30f3010
Publicado por: fram_22 en 20 de Noviembre de 2007, 01:18:34
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;
}
Título: Re: ADC dsPic30f3010
Publicado por: Nocturno en 20 de Noviembre de 2007, 02:56:42
Es difícil encontrar el error porque como utilizas la escritura directa en los registros del micro y no has puesto comenarios obligaría a abrir la data para analizar línea a línea tu código.
¿Has probado a simular paso a paso en MPLAB?, creo que te serviría de bastante ayuda.
Título: Re: ADC dsPic30f3010
Publicado por: fram_22 en 21 de Noviembre de 2007, 01:33:51
Hola:

Acabo de leer tu recomendación, sin embargo aun asi no logre ver el error, un amigo me recomendó utilizar una herramiente VisualInitializer, sin embargo me preocupa que limite mis opciones al trabajar con el DSPIC, has trabajado alguna vez con esta herramienta? Haré pruebas tanto con mi codigo original como con el VisualInitializer y en cuanto tenga resultados te informo.

gracias por tu tiempo

Fernando Ramírez
Título: Re: ADC dsPic30f3010
Publicado por: Nocturno en 21 de Noviembre de 2007, 02:22:12
Buena opción lo del Visual Initializer. De hecho lo descubrí ayer en un seminario de Sagitron y me encantó.
Creo que escribiré un tutorial sobre el mismo.
Título: Re: ADC dsPic30f3010
Publicado por: Renatox_ en 22 de Noviembre de 2007, 00:00:45
Hola fram_22 veo que estás utilizando esta línea:

b=ADCBUF0+ADCBUF1+ADCBUF2+ADCBUF3;

Para ello necesitas realizar 4 secuencias de muestreo y retención. Por ejm usando los cuatro canales del ADC y muestreándolos simultaneamente, para luego convertirlos de uno en uno, y estas conversiones se colocan en los ADCBUFx. Esto lo hace el dspic automaticamente pero debes de configurar bien esto, revisa el datasheet bien ya que el ADC es un módulo complejo.

saludos;
Título: Re: ADC dsPic30f3010
Publicado por: fram_22 en 24 de Noviembre de 2007, 20:35:26
Hola:

Ya funcionó el programa del ADC, lo heché a andar utilizando Visual Initializer, es una herramiente bastante útil y simplifica muchisimo el trabajo, respecto a lo que sugirió Renatox, voy a checar bien eso porque no lo habia tomado en cuenta.

Saludos
Título: Re: ADC dsPic30f3010
Publicado por: Nocturno en 25 de Noviembre de 2007, 02:30:44
¡Estupendo!. Ahora lo ideal sería que vieras dónde está la diferencia entre tu código original y el que te ha generado el VDI automáticamente para saber dónde estaba el error.
Título: Re: ADC dsPic30f3010
Publicado por: Diego Gonzalez en 14 de Diciembre de 2007, 14:41:13
Hola;

Esto no deberia estar a "1" para permitir la interrupcion?

IEC0bits.ADIE = 0;
Título: Re: ADC dsPic30f3010
Publicado por: umalrovi en 25 de Enero de 2008, 07:38:04
Buenas, me gustaría pasarme al los DSP es una cosa que tengo en mente. Me podréis explicar un poco que es eso del "Visual Initializer" supongo que será un programa que te genera un código  a través de un wizard. ¿Es FREE o de pago?

Venga un saludo y gracias!!
Título: Re: ADC dsPic30f3010
Publicado por: Nocturno en 25 de Enero de 2008, 08:02:13
Efectivamente, te genera un código que configura el PIC como tú desees y listo para empezar a programar tu aplicación.
No es una aplicación independiente, sino un módulo de MPLAB. La última versión del mismo está disponible para descargar en la web de Microchip.
Título: Re: ADC dsPic30f3010
Publicado por: umalrovi en 26 de Enero de 2008, 08:26:46
Muchas gracias Diegopor tu respuesta. La idea mia es pasarme a los DSP ya que tengo que hacer alguna cosita cañera. Mi idea es programarlo en C con el CCS, estoy buscando info por el foro. Si tienes tu algún manual o programitas hechos en C ya sabes no está demás, yo sigo mirando cositas por aquí.

Saludos!!