我们搞的一个项目,用到了MSP430FR2111及MSP430FR2433两款芯片。工作频率需要16MHZ,在工作率为8M时还可以运行的,当设置为12M或16M时就不会运行了。。。。
我的设置是这样的:
void Init_Clock()
{
CSCTL3 |= SELREF__XT1CLK; // Set XT1CLK as FLL reference source
CSCTL1 &= ~(DCORSEL_7); // Clear DCO frequency select bits first
CSCTL1 |=DCORSEL_3; // DCORSEL_3; Set DCO = 8MHz // DCORSEL_5; Set DCO = 16MHz
CSCTL2 = FLLD_0 + 243; // DCODIV = 8MHz
do
{
__delay_cycles(7 * 31 * 8); // Requires 7 reference clock delay before
// polling FLLUNLOCK bits
// @8 MHz, ~1736 cycles
} while(CSCTL7 & (FLLUNLOCK0 | FLLUNLOCK1));// Poll until FLL is locked
CSCTL5 |= DIVM_0 | DIVS_0; // MCLK = DCOCLK = 8MHZ,
}
当设置
CSCTL1 |=DCORSEL_4; // DCORSEL_5; Set DCO = 12MHz
或
CSCTL1 |=DCORSEL_5; // DCORSEL_5; Set DCO = 16MHz
时,系统就不会运行了。。。不知是怎么回事?
是不是其它地方还要设置过呀?????
恳请诸位老大、诸位高手多多指点。。。。致谢!!!!!!
|