Programación Específica > Programación en C
Programacion Del Oscilador En El Msp430f169
(1/1)
Dok:
Hola amigos, estoy programando el microcontrolador para un proyecto que tengo y tengo un problema al inicializar el oscilador del microcontrolador, mi codigo es el siguiente:
--- Código: Text --- void InitOsc(void) { WDTCTL = WDTPW | WDTHOLD; // Paramos el watchdog timer BCSCTL1 |= XTS; // XT1 ~ high-frequency _BIC_SR(OSCOFF); // turn on XT1 oscillator do // wait in loop until crystal is stable { IFG1 &= ~OFIFG; for (ii = 0xFFFF; ii > 0; ii--); } while (IFG1 & OFIFG); BCSCTL1 |= DIVA1 | DIVA0; // ACLK = XT1 / 8 = 1 MHz IE1 &= ~WDTIE; // desactiva WDT int. WDTCTL = WDTPW | WDTTMSEL | WDTCNTCL | WDTSSEL | WDTIS1; // use WDT as timer, flag each. 512 pulses from ACLK IFG1 &= ~WDTIFG; // clear WDT int. flag while ((IFG1 & WDTIFG)!=0); // cuenta 1024 pulsos XT1 <---Problema IFG1 &= ~OFIFG; // clear osc. fault int. flag DCOCTL |= DCO2 | DCO1 | DCO0; BCSCTL1 |= RSEL2 | RSEL1 | RSEL0;// MCLK = DCO, 8 MHz (MCLK=Reloj de la CPU)}
Y el problema se encuentra en el segundo while [while ((IFG1 & WDTIFG)!=0);] en donde se queda trabado y no se como haerle salir de ahi.
Espero que podais ayudarme amigos. Saludos!!!
Navegación
Ir a la versión completa