我在用MSP430F6720做一个项目,要求系统电流小于10uA,单片机的稳压芯片是TPS780330220,理论上来说已经完全满足要求。但是我将单片机工作于LPM4时,用万用表测得系统电流居然有100uA之多,经检测电流确实被单片机吸收了(我将单片机焊掉后电流降到1uA以下),所以肯定是程序的问题了,后来我将程序删减到如下,问题依旧,望高手指教。时钟模块我使用的是FLL(32768*299=9MHZ),其中(ACLK=32768,MCLK=9MHZ,SMCLK=9/8=1MHZ)
void main()
{
WDTCTL = WDTPW + WDTHOLD; System_Clock_Initializer(299,0,0,0); P3DIR&=~(BIT3+BIT4);
P3OUT&=~(BIT1+BIT6);
P3REN&=~BIT5;
P3OUT|=BIT0;
while(1)
{
__bis_SR_register(LPM4_bits); // Enter LPM4, interrupts enabled
}
}
Ken Wang:
楼主,
你在编译项目的时候,在编译软件的终端窗口有一个ULP advisor的界面,里面会提示你做到低功耗你还需要做哪些操作。
比如说对没有使用的GPIO需要将他们设置成输出为低电平,或设置成第二功能状态等等。
另外,设置芯片处于低功耗,只需用__bis_SR_register(LPM4_bits); // Enter LPM4, interrupts enabled,不需要加while(1)语句。
谢谢
xinpeng wang:
回复 Ken Wang:
我用的是IAR,找不到你说的那个界面,可以给我发一份pdf之类文件吗
xinpeng wang:
回复 Ken Wang:
嗯,确实是因为IO漏电流的问题,已经成功将功耗降低到3uA以下
Ken Wang:
回复 xinpeng wang:
xinpeng,
Ok,很高兴能看到你的问题解决了。
谢谢
TI中文支持网



