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
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
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/
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..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.