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.

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



CCA初始化代码
void CC1101_CCAConfig(void)
{
    CC1101_WriteReg(CC1101_IOCFG2,0x0E);//GDO2引脚输出载波感应电平,如果RSSI级别在门限之上为高电平
    CC1101_WriteReg(CC1101_MCSM1,0x3F);//接受信号强度低于门限值且当前未接收报文则信道空闲,让TX和RX结束后,芯片都保持在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灯闪烁