Autor Tema: DSPIC30F2010  (Leído 4950 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado picwilliam

  • PIC10
  • *
  • Mensajes: 8
DSPIC30F2010
« en: 15 de Marzo de 2006, 22:31:00 »
QUE MAS, COMO ESTAN. eSTOY PROGRAMANDO UN DSPIC30F2010 CON LIBRERIAS Y TENGO UN PROBLEMAS A LA HORA DE COMPILAR. ES COMO UN ERROR DE CONFIGURACION NOSE,  ME SALE ESTO:
cod.o(.text+0x16): In function `main":
cod.c:18: undefined reference to `SetDCMCPWM"
cod.c:29: undefined reference to `OpenMCPWM"

ES UN PWM QUE ESTOY HACIANDO CON ESO, Y DEFINO LA LIBRERIA Y TODO Y ME SALE ESO, IGUAL EL BUILT OPTIONS LE DOY LAS DIRECCION KE SON Y ME SALE ESO. EL QUE SEPA POR FAVOR ALGO DE ESTO, LE AGRADECIRIA MUCHO QUE ME AYUDARIA DICIENDOME CUAL ES EL PROBLEMA QUE TENGO, BUENO QUE ESTEN BIEN, GRACIAS.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: DSPIC30F2010
« Respuesta #1 en: 15 de Marzo de 2006, 22:42:00 »
Esas funciones que intentas utilizar sólo están disponibles en los dsPIC con módulo "Motor Control" y no es el caso del 30F2010.
Prueba a compilar el programa para un 30F4011, por ejemplo, y verás como no te falla.

Desconectado picwilliam

  • PIC10
  • *
  • Mensajes: 8
RE: DSPIC30F2010
« Respuesta #2 en: 16 de Marzo de 2006, 19:48:00 »
kemas nocturno 66 como esta.pille hice lo ke me dijo y si, compila normal, pero fijece en el datasheet del dspic30f2010 y en la seccion 14 pag 84 esta el modo de control de motor por pwm. ke sera?
 

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: DSPIC30F2010
« Respuesta #3 en: 16 de Marzo de 2006, 22:38:00 »
Ah, pues es verdad, estaba yo confundido y el 30F2010 sí que tiene 6 canales de control de motores.

Pues en ese caso no entiendo cómo es que te compila bien para un 30F4011 :S

Pega aquí tu programa y lo intento compilar, a ver qué tal.

Desconectado mdlamber26

  • PIC10
  • *
  • Mensajes: 4
Re: DSPIC30F2010
« Respuesta #4 en: 16 de Diciembre de 2011, 00:14:55 »
Hola: Aqui coloco el ejemplo de microchip sobre el uso de las librerias para el manejo del ADC de los dsPIC30F2010. Si el dispositivo seleccionado es el dsPIC2010, el MPLab no compila y genera errores. Es como si no encontrase las librerias . Sin embargo si seleccionamos como dispositivo, el dsPIC30F6014, el mismo si compila.
Lo probe con la version 8.5 de MPLab. Que opinan al respecto?.

#define __dsPIC30F2010__

#include <p30fxxxx.h>

#include<adc12.h>

unsigned int Channel, PinConfig, Scanselect;

unsigned int Adcon3_reg, Adcon2_reg, Adcon1_reg;

int  main(void)

{

    unsigned int result[20], i;

    ADCON1bits.ADON = 0;         /* turn off ADC */

    Channel = ADC_CH0_POS_SAMPLEA_AN4 &   

              ADC_CH0_NEG_SAMPLEA_NVREF &

              ADC_CH0_POS_SAMPLEB_AN2& 

              ADC_CH0_NEG_SAMPLEB_AN1;

    SetChanADC12(Channel);

    ConfigIntADC12(ADC_INT_DISABLE);

    PinConfig  = ENABLE_AN4_ANA;

    Scanselect = SKIP_SCAN_AN2 & SKIP_SCAN_AN5 &

                 SKIP_SCAN_AN9 & SKIP_SCAN_AN10 &

                 SKIP_SCAN_AN14 & SKIP_SCAN_AN15 ;

 

    Adcon3_reg = ADC_SAMPLE_TIME_10 &

                 ADC_CONV_CLK_SYSTEM &

                 ADC_CONV_CLK_13Tcy;

 

    Adcon2_reg = ADC_VREF_AVDD_AVSS &

                 ADC_SCAN_OFF &

                 ADC_ALT_BUF_OFF &

                 ADC_ALT_INPUT_OFF & 

                 ADC_SAMPLES_PER_INT_16;

    Adcon1_reg = ADC_MODULE_ON &

                 ADC_IDLE_CONTINUE &

                 ADC_FORMAT_INTG &

                 ADC_CLK_MANUAL &

                 ADC_AUTO_SAMPLING_OFF;

    OpenADC12(Adcon1_reg, Adcon2_reg,

              Adcon3_reg,PinConfig, Scanselect);

    i = 0;

    while( i <16 )

    {

        ADCON1bits.SAMP = 1;

        while(!ADCON1bits.SAMP);

        ConvertADC12();

        while(ADCON1bits.SAMP);

        while(!BusyADC12());

        while(BusyADC12());

        result = ReadADC12(i);

        i++;   

    }

}

Desconectado mdlamber26

  • PIC10
  • *
  • Mensajes: 4
Solucionado:Re: DSPIC30F2010
« Respuesta #5 en: 16 de Diciembre de 2011, 08:29:54 »
Disculpen: Al adquirir mi dsPIC en realidad había encargado un modelo con ADC de 12bits, y finalmente me consiguieron el dsPIC30F2010. Observando ahora un poco mejor las hojas de datos, veo que el mismo no dispone de conversor de 12bits. Solo puede trabajar a 10bits. Por ello es el error.
Finalmente para picwilliam, te comento que probablemente tu problema tenga que ver con alguna limitación de tu dispositivo que estas queriendo usar y el mismo no la tiene disponible, ya que el error que te aparece es muy similar al que me aparecía a mi.
Si puedes pega tu código aquí para revisarlo.




 

anything