方案采用MSP430F2132+CC1101,目前收发正常,但是功耗一直降不下来,后来通过示波器监测,发现在接收到数据后,2132和1101应都进入了低功耗状态,电流大约200uA,但是在发送完数据后,并没有进入低功耗状态,电流大约在2mA左右,在接收到数据后进入休眠的语句和发送数据后进入休眠的语句都是下面这句:
halSpiStrobe(0x39);// 设定CC1101芯片进入休眠模式
请问什么地方需要注意?
halRfSendPacket(TxBuf,8);//发送数据
halSpiStrobe(0x39);// 设定CC1101芯片进入休眠模式
PROG_SLEEP_FLAG=1;//程序片休眠标记
。。。。。。。。。。
if(PROG_SLEEP_FLAG)//程序片休眠标记
{
PROG_SLEEP_FLAG=0;//程序片休眠标记
halSpiStrobe(0x39);// 设定CC1101芯片进入休眠模式
P1OUT &=0x40; //将输出口均置为0
P2OUT &=~0X02; //将输出口均置为0
P3OUT &=0X0F; //将SPI接口外的管脚均置为0
LPM3;//CPU进入休眠
}
Barbara Wu:
SPWD命令是Enter power down mode when CSn goes high, 所以检查CSn的状态是什么?
Albin Zhang:
有参考一下规格书里面的状态机切换图吗?确认好各个状态。
会不会CSn = 0把它给弄醒了?
BR. AZ