请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F5529 主题中讨论的其他器件: MSP430WARE
我有关于 MSP430F5529低功耗的问题。 当我~MSP430F5529进入低功耗4.5状态时、MCU 电流流动为10 μ A 22uA、为什么不是0.1uA。
当 MCU,为3.3V 时、MCU 低功耗电流为22uA 当 MCU 电源为1.8V 时、MCU 低功耗电流为0.1uA。 你会告诉我为什么、谢谢。
//This code is about MSP430F5510 enter LPM4.5
//将所有IO口配置为普通IO口
P1DIR = 0x00;P2DIR = 0x00;P3DIR = 0x00;P4DIR = 0x00;P5DIR = 0x00;P6DIR = 0x00;
PJDIR = 0x00;
P1SEL = 0x00;P2SEL = 0x00;P3SEL = 0x00;P4SEL = 0x00;P5SEL = 0x00;P6SEL = 0x00;
// 端口配置为下拉
// P1REN = 0x00;//disabled Pullup or pulldown
// P2REN = 0x00;
// P3REN = 0x00;
// P4REN = 0x00;
// P5REN = 0x00;
// P6REN = 0x00;
// 端口配置为上拉
P1REN = 0xFF;//disabled Pullup or pulldown
P2REN = 0xFF;
P3REN = 0xFF;
P4REN = 0xFF;
P5REN = 0xFF;
P6REN = 0xFF;
GPIO_ExtInt_Init();
// UCSCTL4=UCSCTL4&(~(SELS_7|SELM_7))|SELS_1|SELM_1;
//将SMCLK和MCLK配置为VLOCLK
UCSCTL8 &= ~MCLKREQEN;
UCSCTL8 &= ~ACLKREQEN;
UCSCTL8 &= ~SMCLKREQEN;
UCSCTL8 &= ~MODOSCREQEN;
/* UCSCTL4&(~(SELS_7|SELM_7))这一语句相当于先把SELS和SELM清零*/
// UCSCTL4=UCSCTL4&(~(SELS_7|SELM_7|SELA_7))|SELS_1|SELM_1;
//将SMCLK和MCLK配置为VLOCLK
PMMCTL0_H = PMMPW_H; // Open PMM Registers for write
PMMCTL0_L |= PMMREGOFF; // and set PMMREGOFF
SVSMLCTL &= ~SVMLE; //关闭SVML模块
SVSMLCTL &= ~SVSLE; //关闭SVS模块
SVSMHCTL &= ~SVSHE;
SVSMHCTL &= ~SVMHE;
PM5CTL0 &= ~LOCKLPM5; //清除LOCKLPM5,解除端口状态锁定 锁定所有端口状态,
// 必须在此之前将所有端口的状态改变为最低功耗,锁定。
PMMCTL0_H = 0; // Lock PMM Registers
__bis_SR_register(LPM4_bits + GIE);