本帖最后由 yugzhi 于 2015-12-24 21:17 编辑
请各位大侠帮帮忙!
方案采用MSP430F2132+CC1101,目前收发正常,但是功耗一直降不下来,后来通过示波器监测,发现在接收到数据后,2132和1101应都进入了低功耗状态,电流大约200uA,但是在发送完数据后,并没有进入低功耗状态,电流大约在2mA左右,在接收到数据后进入休眠的语句和发送数据后进入休眠的语句都是下面这句:
halSpiStrobe(0x39);// 设定CC1101芯片进入休眠模式,在该语句中,退出时对CC1101的片选已经置为高。
请问什么地方需要注意?
===================================
这是接收后的处理:
。。。。
if((LEI_JIA.adata[0])==RxBuf[leng-1])//检验和正确,置无线接收数据需处理标记
{
halSpiStrobe(i);// 设定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进入休眠
}
。。。。。。。。。。。。。。。。。 |