TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: Picuino en 15 de Mayo de 2013, 09:16:53
-
¿Alguien sabe donde encontrar la documentación sobre cómo configurar los fuses del dsPIC30F4012 con el compilador C30?
quiero configurar _FOSC(), pero también me gustaría saber cómo manejar el resto de fuses.
Saludos.
-
El único archivo que conozco del que se pueden "adivinar" los fuses es del archivo header:
p30F4012.h
Saludos
-
Estoy probando varios programas y no funcionan los fuses en ninguno.
Estoy programando el dsPIC30F4012 con un PICKIT3 y el reloj siempre funciona a 7.37 Mhz
Intento cambiar la fuente de reloj al reloj externo de 4Mhz o al reloj interno de 512 kHz y no va ninguno.
El programa para 512khz es:
/*
TEST
*/
#include "p30F4012.h"
_FOSC(CSW_FSCM_ON & LPRC); // CONFIGURACIÓN DEL OSCILADOR A 512 khz
_FWDT(WDT_OFF); // WATCHDOG
_FGS(CODE_PROT_OFF & GWRP_OFF); // PROTECCIÓN DEL CODIGO
_FICD(ICS_PGD) // DEBUG
/*
Main program
*/
int main(void) {
TRISBbits.TRISB0 = 0;
while(1) {
LATBbits.LATB0 = 0;
LATBbits.LATB0 = 1;
}
}
El programa para el oscilador externo es:
/*
TEST
*/
#include "p30F4012.h"
_FOSC(CSW_FSCM_ON & XT_PLL8); // CONFIGURACIÓN DEL OSCILADOR A 4x8=32Mhz
_FWDT(WDT_OFF); // WATCHDOG
_FGS(CODE_PROT_OFF & GWRP_OFF); // PROTECCIÓN DEL CODIGO
_FICD(ICS_PGD) // DEBUG
/*
Main program
*/
int main(void) {
TRISBbits.TRISB0 = 0;
while(1) {
LATBbits.LATB0 = 0;
LATBbits.LATB0 = 1;
}
}
En todos los casos mido siempre 462hz en el pin RB0 (lo esperado para un reloj de 7.39Mhz)
La placa ha funcionado anteriormente a otras velocidades de reloj.
¿Alguna idea?
Saludos.