在线情况
楼主
  • 头像
  • 级别
    • 积分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
    • 头像
    • 级别
      • 积分25
      • 经验2199
      • 文章71
      • 注册2008-08-04
      难道没有大侠用过这种组合吗?
      还是俺的问题太弱智不屑于回答?

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