makerpace 发表于 2010-11-26 11:39:36

关于msp430f147的 MCLK,困惑了我一天。大家帮忙看一下(已解决)。

void main(void)
{
WDTCTL = WDTPW +WDTHOLD;    // Stop Watchdog Timer
BCSCTL1 &= ~XT2OFF;      //XT2 on

_BIS_SR(SCG0);            //turn off DCO
BCSCTL2 |= SELM_2 + SELS;    // MCLK = SMCLK = XT2

P5DIR |= 0x70;         / P5.6,5,4 outputs
P5SEL |= 0x70;          // P5.6,5,5 options

while(1)
{
}
}
示波器测量 MCLK、SMCLK, ACLK, 输出引脚,SMCLK为8MHz, ACLK为32.768KHz,都正常 但是MCLK始终是700KHz左右,不懂是为什么?

makerpace 发表于 2010-11-26 12:08:42

原来需要稳定一段时间:

void main(void)
{
WDTCTL = WDTPW +WDTHOLD;    // Stop Watchdog Timer
BCSCTL1 &= ~XT2OFF;      //XT2 on

do
{
IFG1 &= ~OFIFG;                           // Clear OSCFault flag
for (i = 0xFF; i > 0; i--);               // Time for flag to set
}
while ((IFG1 & OFIFG));                   // OSCFault flag still set?

_BIS_SR(SCG0);            //turn off DCO
BCSCTL2 |= SELM_2 + SELS;    // MCLK = SMCLK = XT2

P5DIR |= 0x70;         / P5.6,5,4 outputs
P5SEL |= 0x70;          // P5.6,5,5 options

while(1)
{
}
}

XMLK 发表于 2011-3-2 00:52:26

谢谢!!!
学习了!!!
页: [1]
查看完整版本: 关于msp430f147的 MCLK,困惑了我一天。大家帮忙看一下(已解决)。