TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: ElVale en 18 de Diciembre de 2008, 07:22:14
-
El Hello World de los microcontroladores: encender y apagar un pin.
#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
-
Funciona a la perfeccion la simulacion , que malo que no se pueda simular :-/ los dspics 30f
-
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
-
Muchas gracias por el dato!!!!
-
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