物联网技术
直播中

三心四意

8年用户 804经验值
私信 关注
[讨论]

CC1101配置空闲信道评估CCA,导致发送死掉

CC1101配置空闲信道评估CCA,导致发送死掉

CCA初始化代码
void CC1101_CCAConfig(void)
{
    CC1101_WriteReg(CC1101_IOCFG2,0x0E);//GDO2引脚输出载波感应电平,如果RSSI级别在门限之上为高电平
    CC1101_WriteReg(CC1101_MCSM1,0x3F);//接受信号强度低于门限值且当前未接收报文则信道空闲,让TXRX结束后,芯片都保持在RX状态。        
    CC1101_WriteReg(CC1101_AGCCTRL1,0x40);//低噪声放大器增益先减小,载波监听相对阈值禁用,载波监听绝对阈值由MAGN_TARGET设置
    CC1101_WriteReg(CC1101_AGCCTRL2,0x07);//42dB      
}
这部分是发送代码
void Send_Date(void)
{
    CC1101_SetRxMode();
    nop();nop();nop();nop();nop();nop();
    nop();nop();nop();nop();nop();nop();   
    if(CC1101_GDO2_Status) //信道繁忙
    {
        CC1101_WriteCmd(CC1101_SFRX);       //清洗接收缓冲区
        LED_Toggle();
        return;
    }
    CC1101_SendPacket(&dat[0],strlen((char *)&dat[0]));//执行发送
}
开启CCA后,发送就会死在检测GDO0这里( IOCFG0D配置为0x06).
CCA这块代码测试过;屏蔽掉发送可以LED灯闪烁

更多回帖

发帖
×
20
完善资料,
赚取积分