Other Parts Discussed in Thread: MSP430F5419A
Using CCSv5.1 with MSP430F5419a
I am trying to get SMCLK based on DCO. Instead always have SMCLK=MCLK=XT2
Please, help to find problem in follows code:
#include "msp430x54xA.h"
void main(void) {
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P11DIR = BIT1+BIT2; // P11.1-2 to output direction
P11SEL |= BIT1+BIT2; // P11.1-2 to output SMCLK,MCLK
P5SEL |= 0x0C; // Port select XT2
UCSCTL6 &= ~XT2OFF; // Enable XT2
UCSCTL3 |= SELREF_2; // FLLref = REFO
// Since LFXT1 is not used,
// sourcing FLL with LFXT1 can cause
// XT1OFFG flag to set
UCSCTL4 |= SELA_2; // ACLK=REFO,SMCLK=DCO,MCLK=DCO
// Loop until XT1,XT2 & DCO stabilizes
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
UCSCTL6 &= ~XT2DRIVE0; // Decrease XT2 Drive according to expected frequency
UCSCTL4 &= ~SELS_7;
UCSCTL4 |= SELM_5; // SMCLK=MCLK=XT2
while(1); // Loop in place
}