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.

SimpliciTI在CC1110与CC1101间的通信

Other Parts Discussed in Thread: SIMPLICITI, CC1101

我想将SimpliciTI移植到CC1101上,然后跟CC1110进行通信。其中CC1101作为一个AP,CC1110作为一个终端设备。CC1101无法收到CC1110发过来的JOIN报文。我用sniffer抓包是可以抓到CC1110发出的JOIN报文。通过调试发现CC1101收到报文后对RXBYTES这个寄存器的值与FIFO第一个字节的值进行比较,而我就是这个无法通过。

见mrfi_radio.c文件中的Mrfi_SyncPinRxIsr函数的1042行。通过打印其中RXBYTES寄存器的值是22,FIFO第一个字节的值是31.我想问一下这个问题怎么解决。谢谢各位!

sniffer.psd
  • 收到报文时我打印一下RXFIFO里面的数据如下:

    1f:ff:ff:ff:ff:7a:56:34:12:03:01:01:01:00:08:07:06:05:02:02:63:b2:b2:7b:46:eb:50:5e:8b:7b:58:a7:fe:59:39:a5:a5:d6:86:b5:bd:07:70:aa:43:d7:e5:e9:68:e9:d6:c9:c9:e9:b3:f6:e5:55:02:5d:c1:0a:ec:7b:

    抓包获取到的数据如下:

    Packet index: 1
    Length: 19
    Raw data (hex): FF FF FF FF 7A 56 34 12 03 01 01 01 00 08 07 06 05 02 02
    RSSI [dBm]: -32
    CRC OK: 1

    就是说RXFIFO里面已经收到报文,就是长度不匹配。

  • 请检查前导码(Preamble),同步字(Sync Word), 包长(Packet Length) 等设置在接收和发送端是否一致。