TI中文支持网
TI专业的中文技术问题搜集分享网站

430f149的低功耗问题? 先谢谢各位了。

各位大侠好:

      我现在做430f149的低功耗功能,程序上用的是睡眠4(LPM4),进入睡眠前关闭了定时器A,B及串口1。我就用了这3个功能模块。所有的端口都设成了输出模式,输出寄存器也设置的0,只有2个口是设成上升沿中断。用的是3.579mhz的晶振。硬件上的外设也都断开了,但是功耗还是达到了9ma左右,想请教一下,还有哪可能漏电呢?

      

WDTCTL = 0x5A80; //关闭看门狗
GPRS_POWER_OFF;
LED_OFF;
ME2 &= ~URXE1;//接收不允许
ME2 &= ~UTXE1;//发送不允许 IE2 &= ~URXIE1;//关闭接收中断使能
TACTL &= ~MC0; // 停止定时器
TACTL &= ~MC1; // 停止定时器
TACTL &= ~TAIE; //禁止定时器A中断
TBCTL &= ~MC0; // 停止定时器
TBCTL &= ~MC1; // 停止定时器
TBCTL &= ~TBIE; //禁止定时器B中断
P1SEL = 0x00; // 将p1.2,p1.5口设为中断功能
P1OUT = 0x00; // p1口输出0
P1DIR = 0x00; // 将P1设为输入方式
P1IES = 0x00; // 设为上升沿中断
P1IE = 0x24; // 允许p1.0–p1.6口中断
P1IFG = 0x00; // 复位p1口的中断标志寄存器
P2SEL = 0x00; P2OUT = 0x00; P2DIR = 0xff; P3SEL = 0x00; P3OUT = 0x00; // 将P3.0 口输出高
P3DIR = 0xff; // 将P3.0 设为输出方式
P4SEL = 0x00; // 将p4口设为端口功能
P4OUT = 0x00; // p4.0 输出为0
P4DIR = 0xff; P5SEL = 0x00; // 将p5口设为端口功能
P5OUT = 0x00; // p5输出为0
P5DIR = 0xff; P6SEL = 0x00; // 将p6口设为端口功能
P6OUT = 0x00; // p6输出为0
P6DIR = 0xff; LPM4; //睡眠

晶振的设置程序:

uchar i;
BCSCTL1 = 0xC0; // 选择高频模式
IFG1 &= ~OFIFG;
for(i=0;i<250;i++)_NOP();
while(IFG1&OFIFG)
{
IFG1 &= ~OFIFG; // 等待外部晶振稳定
for(i=0;i<250;i++)_NOP();
i=0;
}
for(i=0;i<250;i++)_NOP();
for(i=0;i<250;i++)_NOP();
BCSCTL2 = 0xC0; // 外部晶振为主频

zheng cui:

#define  GPRS_POWER_OFF         P4OUT &=~ 0x01 

#define  LED_OFF              P3OUT |= 0x01 

这是补充。在线等解答,急呀 

Terry Deng:

9mA接近正常运行的功耗了,你确认进入了LPM4低功耗状态吗?没进入以前的功耗是多少啊

zheng cui:

回复 Terry Deng:

平时工作电流是25ma,能够确认进入睡眠了,因为我仿真了,而且能够通过管脚的中断唤醒。

zheng cui:

回复 Terry Deng:

进入睡眠后,用示波器测了一下晶振,晶振也没有起震

Ling Zhu2:

回复 zheng cui:

 板子上有没有其他芯片呢? 确定只是430的功耗?

zheng cui:

回复 Ling Zhu2:

板子上除了供电的电路外,其他的都切断了。

zheng cui:

回复 Ling Zhu2:

Ling Zhu2:

回复 zheng cui:

外围电路呢?有没有上拉电阻,阻值多大?

zheng cui:

回复 Ling Zhu2:

上啦电阻100k。

zheng cui:

回复 Ling Zhu2:

 这是去除掉所有外围电路的原理图

赞(0)
未经允许不得转载:TI中文支持网 » 430f149的低功耗问题? 先谢谢各位了。
分享到: 更多 (0)