cc1101wor模式丢包严重
mega88处于省电模式,T2定时唤醒。GDO0配置为6,接电平变化中断的管脚。问题1:
mega88的中断0,只能够低电平唤醒,GDO0在接收到数据时会拉高。这里会有一个上升沿或者下降沿。不知道能不能配置为默认为高电平,有数据时拉低呢??
问题2:
电平变化中断的管脚时,单片机正常运行时,有数据时GDO0管脚指示正常。单片机睡眠后,GDO0管脚指示时灵时不灵的。(不进入wor模式) wor模式配置
void CC1100EnterWORMode()
{
// Enable automatic initial calibration of RCosc.
// Set T_event1 ~ 1.4 ms, enough for XOSC stabilize and FS calibration before RX.
// Enable RC oscillator before starting with WOR (or else it will not wake up).
Rfcc1100_WriteReg(CC1100_WORCTRL, 0x78); // Not using AUTO_SYNC function.
// Set Event0 timeout = 1 s (RX polling interval)
// WOR_RES = 0
// T_event0 = 750 / f_xosc * EVENT0 * 2^(5*WOR_RES) = 1 s,f_xosc = 27 MHz
// =>EVENT0 = 0x8CA0
Rfcc1100_WriteReg(CC1100_WOREVT1, 0x8C); // High byte Event0 timeout
Rfcc1100_WriteReg(CC1100_WOREVT0, 0xA0); // Low byte Event0 timeout.
// Setting Rx_timeout =2.596 ms.
// MCSM2.RX_TIME = 000b
// => Rx_timeout = EVENT0*C(RX_TIME, WOR_RES)
Rfcc1100_WriteReg(CC1100_MCSM2, 0x00);
// Enable automatic FS calibration when going from IDLE to RX/TX/FSTXON (in between EVENT0 and EVENT1)
Rfcc1100_WriteReg(CC1100_MCSM0, 0x18);
Rfcc1100_CmdStrobe(CC1100_SWORRST);
Rfcc1100_CmdStrobe(CC1100_SWOR);
} {:huffy:}{:huffy:}{:huffy:}{:huffy:}{:huffy:}{:huffy:}
0x02:IOCFG0-GDO0 输出引脚配置
位场名复原R/W描述
7TEMP_SENSOR_ENABLE0R/W启用模拟温度传感器。使用温度传感器时在
所有其他寄存器中写入0。
6GDO0_INV0R/W将输出反向,例如选择活动的低/高
5:0GDO0_CFG63 (0x3F) R/W默认值为CLK_XOSC/192(见38页表27)。 为
了得到最低功率降低电流,应该设置为 3-状
态。 perfectanswer!!!!!!!!! 问一下 cc1101长时间处于wor模式下 会不会跳不出IDLE模式了?
页:
[1]