Hi Ti:
我这边发现一个比较郁闷的事情,就是跑在1Mhz的MSP430芯片,功耗高的惊人,要4个mA,网上说一般就400uA
我已经把不存在的几个IO 分别设置为输入下拉模式,没设置的时候功耗还会高一些。
我这4个IO很简单,两个做模拟I2C用,2个用来驱动LED灯。
我的初始化代码如下:
void init_sys()
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
/* Initialization Code */
P1REN = 0x1B; // Terminate unavailable Port1 pins (P1.0/1/3/4) properly
P1OUT = 0x00; // Config as Input with pull-down enabled
P1DIR = 0xE4;
BCSCTL3 |= LFXT1S_2; // Select VLO as low freq clock
DCOCTL = 0; // Select lowest DCOx and MODx settings
BCSCTL1 = 0xff;//CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1DIR |= BIT2|BIT5|BIT6|BIT7; // Config available P1.x pins as outputs
P1OUT |= BIT6|BIT7;
SDA_H;
SCL_H;
delay_ms(500);
}
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
/* Initialization Code */
P1REN = 0x1B; // Terminate unavailable Port1 pins (P1.0/1/3/4) properly
P1OUT = 0x00; // Config as Input with pull-down enabled
P1DIR = 0xE4;
BCSCTL3 |= LFXT1S_2; // Select VLO as low freq clock
DCOCTL = 0; // Select lowest DCOx and MODx settings
BCSCTL1 = 0xff;//CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1DIR |= BIT2|BIT5|BIT6|BIT7; // Config available P1.x pins as outputs
P1OUT |= BIT6|BIT7;
SDA_H;
SCL_H;
delay_ms(500);
}
请问您是否有经验,我已经看过TI文档上介绍进入低功耗模式的段子,但这个对我们这套系统并不适用。
我也尝试过降低频率,即使用BCSCTL1/2/3这三个寄存器来降低功耗,尝试的结果是功耗下来了,主频也下来了,我就愁死了。
请教各位大神指导,怎么设置这些寄存器,能够跑在1M并且功耗能下来。
谢谢