|
本人用cc1100接收数据,因为使用电池做为电源,想使用wor降低能耗,但一旦启动wor就产生干扰,不停出发mega8产生中断信号。
我原本使用的GDO信号为0x06,即收到sync头即触发中断;后来改为0x07,还是不停触发中断;而直接进入rx状态或者idle状态均不会出现干扰,请问这是怎么回事啊,急死我了!
以下是我的wor设置函数
//-----------------------------------------------------------------------------------------
//函数名:CC1100_Wor()
//输入:无
//输出:无
//功能描述:CC1100模块睡眠唤醒模式设置
//-----------------------------------------------------------------------------------------
void CC1100_Wor(void)
{
#ifdef _DEBUG_
printstr("going to cc1100 wor...\r\n");
#endif
halSpiStrobe(CCxxx0_SIDLE);
halSpiWriteReg(CCxxx0_MCSM2, 0x00); // RX_TIME = 0 => duty cycle = 12.5%
halSpiWriteReg(CCxxx0_WOREVT1, 0x0c); // EVENT0 = 0x0ccc => Tevent0 = 95ms; Trx = 12.5%*Tevent0 = 11.8ms
halSpiWriteReg(CCxxx0_WOREVT0, 0xcc);
halSpiWriteReg(CCxxx0_WORCTRL, 0x38); // EVENT1 = 3 Tevent1 = 346.15 us; RC_CAL = 1; WOR_RES = 0
halSpiStrobe(CCxxx0_SWORRST);
halSpiStrobe(CCxxx0_SWOR);
} |
|