在线情况
楼主
  • 头像
  • 级别
    • 积分25
    • 经验2199
    • 文章71
    • 注册2008-08-04
    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功耗高可能是哪里的问题?不解,诚心请教!
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
    • 门派
    • 职务总版主
    • 声望+9
    • 财富5
    • 积分3065
    • 经验390701
    • 文章6744
    • 注册2006-03-07
    注:如有对原贴有补充,请编辑原贴。
    如果将XT2开启了当然后是很明显会有功耗上的提升了。时钟源频率及时钟模块开得多少都直接影响到电流功耗的。如果想低功耗的话必须将不必须的时钟源关闭或必须时才开启。
    [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
    在线情况
    3
    • 头像
    • 级别
      • 积分25
      • 经验2199
      • 文章71
      • 注册2008-08-04
      难道没有大侠用过这种组合吗?
      还是俺的问题太弱智不屑于回答?

      问题已解决
      微控网感谢您的参与
      Powered by LeadBBS 9.2 .
      Page created in 0.1875 seconds with 8 queries.