Hi,
I'm using MS430FP5659 and I need to set the next UCS:
Seting UCS gives:
- 11MHz DCOCLK from 32kHz XT1
- MCLK and SMCLK use DCOCLK
- ACLK uses XT1, 32kHz
here is my code:
////////////////////////////////////////////////////////
int main()
{
P1DIR |= BIT0; // ACLK set out to pins
P1SEL |= BIT0;
P3DIR |= BIT4; // SMCLK set out to pins
P3SEL |= BIT4;
while(BAKCTL & LOCKBAK) // Unlock XT1 pins for operation
BAKCTL &= ~(LOCKBAK);
UCSCTL1 |= 0x00;
UCSCTL1 = DCORSEL_4;
UCSCTL2 = UCSCTL2_DEFAULT;
UCSCTL3 = SELREF_0;
UCSCTL4 = SELS_3 + SELM_3;
UCSCTL6 = XT2OFF + XT1DRIVE_3;
__delay_cycles(343000);
/* ------------------------------------------------------------------ */
// Loop until XT1,XT2 & DCO fault flag is cleared
do
{
UCSCTL7 &= ~(XT2OFFG | XT1LFOFFG | DCOFFG); // Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}
while (SFRIFG1&OFIFG); // Test oscillator fault flag
while(1){}
}
Is everything correct here to have approx . 11MHz DCOCLK from 32kHz XT1 ,
MCLK and SMCLK use DCOCLK and ACLK uses XT1, 32kHz?
Before in 5437 I used P7SEL |= 0x03 to set port used by XT1 but now in 5659 I guess it's obsolete since XIN/XOUT are not connected to any Px port.
Am I right?
Thanks,