TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: ElVale en 18 de Diciembre de 2008, 07:22:14

Título: Mi primer programa en C30 + simulación en Proteus
Publicado por: ElVale en 18 de Diciembre de 2008, 07:22:14
El Hello World de los microcontroladores: encender y apagar un pin.

Código: [Seleccionar]
#include <p33FJ32GP202.h> /* DSPIC a utilizar */
#include <libpic30.h> /* Librería necesaria para __delay32() */

/* Bits de configuración (Ver Datasheet pag 209 y ver también el contenido de p33FJ32GP202.h)
   Estos bits también se pueden configurar dentro de MPLAB IDE en el menú Configure -> Configuration Bits */

_FOSCSEL(FNOSC_PRI);     /* Seleccionamos el Primary Oscillator*/
_FOSC(POSCMD_HS); /* Configuramos el Primary Oscillator como HS (High Speed) crystal */
_FWDT(FWDTEN_OFF);       /* Watch dog Timer OFF */

long Fcy = 16000000;     /* Frecuencia del cristal */

/* Función de retardo en milisegundos (Creada por mi :))*/
void delay_ms(long ms)
{
__delay32(ms*(Fcy*0.0005));
}

int main(void)
{

/* Configuración de puertos */
AD1PCFGL=0xFFFF;        /* Puertos análogos configurados como digitales (ver Datasheet pag 207) */
TRISB=0x0000;           /* Port B como salida */

 /* Main Program Loop */

 while(1)
 {
  PORTB=0;
  delay_ms(500);
  PORTB=1;
  delay_ms(500);
 }
 return(0);
}

Les adjunto la simulación en Proteus v7.4 SP3
Título: Re: Mi primer programa en C30 + simulación en Proteus
Publicado por: electronando en 21 de Diciembre de 2008, 14:30:42
Funciona a la perfeccion la simulacion , que malo que no se pueda simular  :-/ los dspics 30f
Título: Re: Mi primer programa en C30 + simulación en Proteus
Publicado por: micro_cadaver en 26 de Diciembre de 2008, 13:25:52
podria utilizarlo salvo algunas opciones y recordando que la frecuencia en los 30f es Fosc/4 y en los 33f es Fosc/2

una observacion al amigo ElVale quien gustoso nos proporciono su programa:
#include <libpic30.h>      /* Librería necesaria para __delay32() */
en el help del dspic33f menciona que no es necesario un include para utilizar el __delay32, y lo he comprobado.
pero si es necesario para utilizar tus formulas de delay_ms

otra observacion es el uso de la palabra Fcy
en el datasheet encontraras esto:
Fcy = Fosc/2
donde Fcy es la frecuencia de operacion del pic,
el Fosc es la frecuencia del oscilador, en tu caso del cristal externo

por esto, cuando pones:
long Fcy = 16000000;     /* Frecuencia del cristal */

la palabra Fcy deberia ser Fosc. solo te lo digo para aclararte los terminos.

finalmente gracias por tu formula de uso del __delay32, me ayudo a superar un problema que tenía. saludos
Título: Re: Mi primer programa en C30 + simulación en Proteus
Publicado por: ROBERTOXX6 en 25 de Febrero de 2009, 02:50:59
Muchas gracias por el dato!!!!

Título: Re: Mi primer programa en C30 + simulación en Proteus
Publicado por: pampateam en 31 de Marzo de 2009, 12:11:51
Funciona a la perfeccion la simulacion , que malo que no se pueda simular  :-/ los dspics 30f
hola, soy nuevo en los dsp, queria saber como hiciste para que te compile con el mplab.

tengo la version 8.20 del mplab, con el c30 instalado, y el proteus 7.4
pero el problema es que no tengo el gld ni el .h del 33fj32gp202.
lo reemplazaste por algun otro? o te hiciste uno vos
gracias