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.

CC2511: CC2511无线收发时接收端始终接收不到数据

Part Number: CC2511

手上有两块CC2511模块,一个作为发送端一个作为接收端。发送端在收到串口发送的数据后就发送数据包。现在发送端的RFTXRXIF和IRQ_DONE都能正常置位,应该是正常发送出来数据的,但是接收端始终接收不到数据。接收标志一直无反应。接收端是写了个循环始终在检测数据。下面第一部分是发送代码第二部分是接收(接收没有做数据处理,只写了接收标志检测),麻烦懂的帮忙看一下,万分感激。

除此之外开启中断的情况下发送标志就不会置位,只有不开中断的情况下才能正常发送置位。

void RF_Send_Init(void)
{
   
    RFST=0x04;
    IOCFG2=0X2E;
    IOCFG0=0X06;
    PKTCTRL0=0X05;
    FSCTRL1=0X0A;
    FREQ2=0X65;
    FREQ1=0X60;
    FREQ0=0X00;
    MDMCFG4=0X76;
    MDMCFG3=0XA3;
    MDMCFG2=0X13;
    MDMCFG1=0X23;
    MDMCFG0=0X11;
    DEVIATN=0X45;
    MCSM0=0X14;
    FOCCFG=0X16;
    FSCAL1=0X00;
    FSCAL0=0X11;
    TEST1=0X31;
    TEST0=0X09;
    PA_TABLE0=0XFE;
    RFST=0x04;
    RFST=0x01;
    while(MARCSTATE != 0x01);
    RFTXRXIF=0;
}
void RF_Send(void)
{
    unsigned char i=0;
    RFST=0x04;
    RFST=0x01;
    while(MARCSTATE!=0x01);
    RFTXRXIF=0;
    RFTXRXIE=0;
    RFIF &= ~0x10;
    RFST=0x03;
    while(!RFTXRXIF);
    RFTXRXIF=0;
    RFD=3;
    for(i=0;i<3;i++)
    {
        while(!RFTXRXIF);
        RFTXRXIF=0;
        RFD=0x66;
    }
    while(!(RFIF & 0x10));
    RFIF &= ~0x10;
}
    
void RF_Receive_Init(void)
{
   
    RFST=0x04;
    IOCFG2=0X2E;
    PKTCTRL0=0X05;
    FSCTRL1=0X0A;
    FREQ2=0X65;
    FREQ1=0X60;
    FREQ0=0X00;
    MDMCFG4=0X76;
    MDMCFG3=0XA3;
    MDMCFG2=0X13;
    MDMCFG1=0X23;
    MDMCFG0=0X11;
    DEVIATN=0X45;
    MCSM0=0X14;
    FOCCFG=0X16;
    FSCAL1=0X00;
    FSCAL0=0X11;
    TEST1=0X31;
    TEST0=0X09;
    PA_TABLE0=0XFE;
 
    RFST=0x04;
    RFST=0x01;
    while(MARCSTATE != 0x01);
    RFTXRXIF=0;
}
void RF_receive(void)
{
    RFTXRXIF=0;
    RFTXRXIE=0;
    EA=1;

    RFIF=RFIF& ~0x10;
    RFST=0x02;
    Usart0_Send_Onebyte(0x02);
    while(!RFTXRXIF);
    Usart0_Send_Onebyte(0x88);
}