pic32 +cc1101

OP (Firma: cs-a) #6983880
Lesenswert?

hallo
Ich habe eine Frage. Ich schließe pic32 mit cc1101. cc1101 ist auf 868 
MHz konfiguriert.
Ich sende ein Paket mit einem anderen Gerät (868MHz) und versuche, 
dasselbe Paket mit (pic +cc1101) zu empfangen.
Mein Problem ist, dass ich nicht das gleiche Paket bekomme.
Vielen Dank im Voraus
OP (Firma: cs-a) #6984086
Lesenswert?

Ich habe einen Größenteil von https://github.com/jhester/msp430-cc1101 
genommen.
konnte es das sein das die fehler legt an den cc1101 module ???
weil ich nicht richtige packet bekommen .

aber ich habe jetzt ein neues Problem. nachdem ich das neue modul von 
cc1101 ausgetauscht habe, bekomme ich keine infos im rxbuffer.

Das heißt, ich bekomme eine falsche packet auf einem Modul und überhaupt 
keine Informationen im RX-Puffer auf dem anderen




int8_t CCRadio_ReceiveData(uint8_t *rxBuffer) {
    /////uint8_t RxBytes;
    ////uint8_t * pData;
    uint8_t size, a[10], cc1[20], i;
    uint8_t status[2];



    SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, " packetLength = 0x%2x\r\n", sizeof 
(NoMo4_Packet_t));
    SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, " RXBYTES = 0x%2x\r\n", 
CC1101_RXBYTES);
    //////RXBYTES--->Number of bytes in RX FIFO


    if (_CCRadio_SpiReadStatusReg(CC1101_RXBYTES) & BYTES_IN_RXFIFO)
das Programm kommt nach dieser if-Abfrage nicht weiter (in den neues 
CC1101)
        ////  _CCRadio_SpiReadStatusReg(CCxxx0_RXBYTES, &RxBytes);
        /////if (RxBytes & BYTES_IN_RXFIFO)
    {

        size = sizeof (NoMo4_Packet_t);
        SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, " size1 = 0x%2x\r\n", size);

        _CCRadio_SpiReadBurstReg(CC1101_RXFIFO, rxBuffer, size);


        SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, " size = 0x%2x\r\n", size);
        _CCRadio_SpiReadBurstReg(CC1101_RXFIFO, status, 2);
        _CCRadio_SpiReadStatusReg(CCxxx0_RSSI);
        _CCRadio_SpiReadStatusReg(CCxxx0_LQI);
        //// *Rssi  = status[RSSI];
        //// *Lqi  = status[LQI];

        //---------------------------RX Buffer-------
        cc1[1] = rxBuffer[1];
        cc1[2] = rxBuffer[2];
        cc1[3] = rxBuffer[3];
        cc1[4] = rxBuffer[4];
        cc1[5] = rxBuffer[5];
        cc1[6] = rxBuffer[6];
        cc1[7] = rxBuffer[7];
        cc1[8] = rxBuffer[8];

        for (i = 0; i <= 8; i++)
            //// for ( i = 1; i < sizeof(rxBuffer); i++)
        {
            SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, " rxBuffer = %d\r\n", 
cc1[i]);
        }

        mrfiRadioState = RADIO_STATE_IDLE;
        _CCRadio_SpiStrobe(CC1101_SFRX); // Flush RX FIFO
        return size;
    } else {
        _CCRadio_SpiStrobe(CC1101_SFRX); // Flush RX FIFO
        ///// memset(rxBuffer, 0, sizeof(FIFOBUFFER)); //erased the 
RX_fifo array content to "0"
        //      CCRadio_RxOn();
        mrfiRadioState = RADIO_STATE_IDLE;
        CC1101Ctrl.PacketLen = 0;
        return 0;
    }
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren