This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

使用TI cc1100e无线芯片的其中唤醒和睡眠?



我在使用时参考如附件的WOR 程序,怎么不能进入休眠状态?和进入后怎么唤醒他?

INT8U CC1101_InitWOR(void)
{
// halSpiStrobe(CCxxx0_SIDLE); //进入空闲状态
halSpiWriteReg(CCxxx0_MCSM2,0x03); //设置轮训时间
halSpiWriteReg(CCxxx0_MCSM0,0x38); //RC自动校准
halSpiWriteReg(CCxxx0_WOREVT1,0x43); //设置轮训周期
halSpiWriteReg(CCxxx0_WOREVT0,0xb5);

halSpiWriteReg(CCxxx0_WORCTRL,0x78); //启动自动校准 设置时间
halSpiStrobe(CCxxx0_SFRX); //复位RX——BUFF
halSpiStrobe(CCxxx0_SWORRST);
halSpiStrobe(CCxxx0_SWOR); //启动WOR
return 1;
}

void CC1101_WOR(void)
{
// halSpiStrobe(CCxxx0_SIDLE); 
halSpiStrobe(CCxxx0_SFRX); //复位RX——BUFF
halSpiStrobe(CCxxx0_SWORRST);
halSpiStrobe(CCxxx0_SWOR); //启动WOR
}

void EINT0_IRQHandler(void)       //中断处理程序  GDO0    设置为06
{
UINT8 i,leng =8;
INT8U RxBuf[8]={0}; 
P3_ISRC = P3_ISRC; 
if(halRfReceivePacket(RxBuf,&leng) ==0)      //判断接受是否正确

for(i=0;i<8;i++)
RxBuf[i] = 0;
}
else                           //接受正确
{
Time_ok = 1;
}
CC1101_WOR();      //再次进入掉电状态
// P3_ISRC = P3_ISRC; //清中断标志 
// System_Gorun(TEST);
// System_runfinger(); 
// EINT0_Off(); 
WDT(); 
}

wor.zip