Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/10/2012 #1


Arrancar dspic
Buenas,

Estoy programando un dspic con el pickit3, de momento hago parparadear un led. Cuando le doy al run, alimentando el uprocesador con el mismo pickit3, el led funciona perfectamente.

Despues desconecto el pickit 3, y conecto la alimentación externa, y el microprocesador no hace nada... Alguien puede ayudarme?

Muchas gracias!
03/10/2012 #2

Avatar de arrivaellobo

Se supone que has conectado el reloj y todo lo necesario para echarlo a andar no?
03/10/2012 #3


He soldado el cristal de 10MHZ, con sus condensadores de 22pF, y mi codigo es el siguiente:

Código:
//Això ho puc trobar al p30F6013A.h
_FOSC(CSW_FSCM_OFF & XT_PLL4);//Clock switching and Monitor Disable & XT w/PLL 8x // 10MHZ * 4/4 = 10MIPS
_FWDT(WDT_OFF); //Watchdog Disabled
_FBORPOR(MCLR_EN & PBOR_OFF & PWRT_OFF); //PBOR Disable & MasterClear Enable 
_FGS (GSS_OFF & GWRP_OFF); //No protección del codigo
////******************* DEFINICIONS ********************************************/////

#define LED PORTGbits.RG12

////*******************FI DEFINICIONS ********************************************/////

void __attribute__((__interrupt__, no_auto_psv)) _T1Interrupt(void)

{
	//entro aquí quan hi ha overflow, segons el q posi al Write hi arribarà abans o després. 
	
	IFS0bits.T1IF = 0; //baixo el flag de l'interrupcó del Timer1
	LED = ~LED;
	WriteTimer1(0xEC77); // hauria de ser cada 1ms.
						 
	return;
} 


void ConfiguracioTimer(){
	//configuració de timer - mostreig a 11025Hz
	ConfigIntTimer1(T1_INT_PRIOR_1 & T1_INT_ON); //configuro el timer com a prioritat 1 & Interrupt Enable
	WriteTimer1(0); //valor que poso el Timer
	OpenTimer1(T1_ON & T1_GATE_OFF & T1_IDLE_STOP & T1_PS_1_1 & T1_SYNC_EXT_OFF & T1_SOURCE_INT, 1335); //0xFFFF
	// Timer1 ON & Timer Gate time accumulation disabled & Prescaler 1:1 & Do not synch external clk input & Internal clock source
} 




void inicialitza (void){

	TRISGbits.TRISG12 = 0; //poso el RG12 com a sortida. 
	ConfiguracioTimer(); //inicialitzem el Timer
	ADCInit ();
}


int main(void)
{

		inicialitza ();
		while (1){

		}
		return 0;
}

Pero supongo que algo me habré dejado... Qué me he dejado?

Gracias!
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.