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灯闪烁
HG:
回复 user4603813:
什么原因,能贴上来兄弟姐妹们分享下么?谢谢啦