MSP430F249时钟配置后功耗变高,诚心请教!

楼主
MSP430F249时钟配置后功耗变高,诚心请教!
现象:使用MSP430F249单片机,LFXT接32K晶振,高频晶振接12M。
程序A :
void main(void)
{
    uint j;
    WDTCTL = WDTPW + WDTHOLD;
    LPM3;
}    
程序B:
void main(void)
{
    uint j;
    WDTCTL = WDTPW + WDTHOLD;

    BCSCTL1 =   0;//高频晶振打开,低频晶振低频模式,ACLK不分频
    BCSCTL2 =   SELM_2 | DIVM_0 | SELS | DIVS_0;//MCLK、SMCLK选择高频晶振,1分频,
    BCSCTL3 =   XT2S_2 | LFXT1S_0 | XCAP_3;//32K低频晶振,并配置负载电容
    while(IFG1 & OFIFG){
        IFG1 &= ~OFIFG;
        for(j = 0; j < 1000; j++);
    }
    LPM3;
}
用万用表测得使用程序A功耗为3uA,而使用程序B功耗为1.5mA。

同时有程序C验证晶振正确起振:
void main(void)
{
    uint j;
    WDTCTL = WDTPW + WDTHOLD;

    BCSCTL1 =   0;//高频晶振打开,低频晶振低频模式,ACLK不分频
    BCSCTL2 =   SELM_2 | DIVM_0 | SELS | DIVS_0;//MCLK、SMCLK选择高频晶振,1分频,
    BCSCTL3 =   XT2S_2 | LFXT1S_0 | XCAP_3;//32K低频晶振,并配置负载电容
    while(IFG1 & OFIFG){
        IFG1 &= ~OFIFG;
        for(j = 0; j < 1000; j++);
    }
    P5DIR |= 0x70;                            // P5.6,5,4 outputs
    P5SEL |= 0x70;                            // P5.6,5,4 options
    while(1);
    //LPM3;
}

程序B功耗高可能是哪里的问题?不解,诚心请教!
1楼
注:如有对原贴有补充,请编辑原贴。
如果将XT2开启了当然后是很明显会有功耗上的提升了。时钟源频率及时钟模块开得多少都直接影响到电流功耗的。如果想低功耗的话必须将不必须的时钟源关闭或必须时才开启。
2楼
难道没有大侠用过这种组合吗?
还是俺的问题太弱智不屑于回答?

问题已解决

电脑版 Page created in 0.1562 seconds width 3 queries.