Forum: Mikrocontroller und Digitale Elektronik pic32 +cc1101


von Baraa S. (Firma: cs-a) (baraa)


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

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Wie hasst du es aufgebaut?

Ich verwende den CC1101 oft mit den MSP430 zusammen,
Datasheet im Forum Verlinkt

Applikations Note:
https://www.ti.com/lit/an/swra122d/swra122d.pdf?ts=1645479658310
Errata:
https://www.ti.com/lit/er/swrz020e/swrz020e.pdf?ts=1645456799941

: Bearbeitet durch User
von Baraa S. (Firma: cs-a) (baraa)


Lesenswert?

vielen Danke

ich habe schon so gebaut  J200 von  Curiosity Board entspricht spi + 
cc1101 spi schnittstelle.

https://docs.rs-online.com/8ad2/A700000007402887.pdf  +
https://www.makershop.de/module/funk/cc1101-868-mhz/

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Kanst du mal die beiden Packete abbilden?
Das gesendete und das Empfangene, ev kann man aus Bitfolge und Läng 
schon auf Fehler Rückschliessen.
Den Programmcode wäre auch nicht schlecht, damit man analysieren kann ob 
du da ein Problem eingebaut hast..

von Baraa S. (Firma: cs-a) (baraa)


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;
    }
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.