Цитата(KARLSON @ Aug 13 2012, 07:46)

A на какую частотный канал (ACLK/MCLK/SMCLK) хотите кварц подключить? и какой кварц?
Если еще интересно инициализация кварца для MSP430F5528 на XT2 выполняется так
Код
void SetVcoreUp (unsigned int level)
{
#ifdef MSP
// Open PMM registers for write
PMMCTL0_H = PMMPW_H;
// Set SVS/SVM high side new level SVMHE = 1, SVSMHRRL
SVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level;
// Set SVM low side to new level
SVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 * level;
// Wait till SVM is settled
while ((PMMIFG & SVSMLDLYIFG) == 0);
// Clear already set flags
PMMIFG &= ~(SVMLVLRIFG + SVMLIFG);
// Set VCore to new level
PMMCTL0_L = PMMCOREV0 * level;
// Wait till new level reached
if ((PMMIFG & SVMLIFG))
while ((PMMIFG & SVMLVLRIFG) == 0);
// Set SVS/SVM low side to new level
SVSMLCTL = SVSLE + SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level;
// Lock PMM registers for write access
PMMCTL0_H = 0x00;
#endif
}
void SetupFreq(void)
{
P5SEL |= BIT2+BIT3; // Port select XT2
SetVcoreUp (0x03);
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
UCSCTL6 &= ~XT2DRIVE_3; // Clear XT2drive field
// Loop until XT1,XT2 & DCO stabilizes - in this case loop until XT2 settles
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG_L + 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
UCSCTL6 |= XTS; //
UCSCTL6 |= XT2DRIVE_3; // Set requested value
UCSCTL4 &= ~(SELS_7 + SELM_7);
UCSCTL4 |= SELS_5 + SELM_5; // SMCLK=MCLK=XT2
}
Функция SetVcoreUp (0х03) необходимо задавать при частоте кварца больше 16 МГц