主题中讨论的其他部件:CC1121、 CC1101
你好
我想从 CC1120/CC1121发送一些随机数据、并使用频谱分析仪来验证我的射频设置、但我无法发送任何数据。
这是我用于发送数据的代码。 它适用于 CC1101、但不适用于 CC1120:
void TX (int CS){
//-将芯片选择拉低
//-将数据传输到 TX FIFO (0x3F | 0x40)
//-选通指令 STX (0x35)
//-刷新 TX FIFO (0x3B)
//-芯片选择高电平
digitalWrite (CS、low);
while (digitalRead (MISO)>0){}
SPI.transfer (CC1101_writeToFIFO);
for (int i=0;i<30;i++){
SPI.transfer (i);
}
digitalWrite (CS、HIGH);
延迟(50);
digitalWrite (CS、low);
while (digitalRead (MISO)>0){}
spi.transfer (CC1101_gotoTX);
SPI.transfer (CC1101_flushTX);
digitalWrite (CS、HIGH);
}
发送后、 MARC_STATUS1寄存 器显示 TX 成功完成、但我在频谱分析仪上看到的只是430MHz 附近的平坦射频波。 868MHz 周围没有任何变化、这是设定的频率。
这些设置来自 SmartRF Studio。 它们首先被写入、然后被读回、以确认它们被存储:
| 二进制文件 | HEKS | ||
| IOCFG3 | 00000110 | 6. | |
| IOCFG2 | 00000111 | 7. | |
| IOCFG1 | 00110000 | 30 | |
| IOCFG0 | 00111100 | 3c | |
| SYNC3 | 01101110 | 6e | 110 |
| SYNC2 | 00101100 | 2c. | 44. |
| SYNC1 | 01101110 | 6e | 110 |
| SYNC0 | 00101100 | 2c. | 44. |
| SYNC_CFG1 | 00001011 | B | |
| SYNC_CFG0 | 00010111 | 17. | 32位同步字 |
| 偏差_M | 10011010 | 9A | 25kHz 偏差 |
| MODCFG_DEV_E | 00000101 | 5. | 正常模式、2FSK |
| DCFILT_CFG | 00011100 | 1c. | |
| 前导码_CFG1 | 00010101 | 15. | 3字节前导码、0x55 |
| 前导码_CFG0 | 00101010. | 2A | |
| FREQ_IF_CFG | 01000000 | 40 | |
| IQIC | 01000110 | 46. | |
| CHAN_BW | 00000001 | 1 | 200KHz 带宽 |
| MDMCFG1 | 01110110 | 76. | 曼彻斯特、反转数据 |
| MDMCFG0 | 00001101 | D | |
| 符号2 | 01100011 | 63. | |
| symbol_rate1 | 10101001 | A9 | 4800合成率 |
| 符号_RATE0 | 00101010. | 2A | |
| AGC_REF | 00100000 | 20. | |
| AGC_CS_THR | 00011001. | 19. | |
| AGC_GAIN_ADJUST | 00000000 | 0 | |
| AGC_CFG3 | 1000001 | 91. | |
| AGC_CFG2 | 00100000 | 20. | |
| AGC_CFG1 | 10101001 | A9 | |
| AGC_CFG0 | 11001111 | cf | |
| FIFO_CFG | 10000000 | 80 | |
| DEV_ADDR | 00011111 | 1f | 31. |
| Setting_CFG | 00001011 | B | |
| FS_CFG | 00010010 | 12. | 868MHz |
| WOR_CFG1 | 00001000 | 8. | |
| WOR_CFG0 | 00100001 | 21. | |
| WOR_EVENT0_MSB | 00000000 | 0 | |
| WOR_EVENT0_LSB | 00000000 | 0 | |
| Pkt_CFG2 | 00000000 | 0 | 始终给出 CCA |
| Pkt_CFG1 | 00000000 | 0 | |
| Pkt_CFG0 | 00000000 | 0 | 固定的数据包长度 |
| RFEND_CFG1 | 00001111 | F | |
| RFEND_CFG0 | 00000000 | 0 | |
| PA_CFG2 | 01111111 | 7F | |
| PA_CFG1 | 01010110 | 56. | |
| PA_CFG0 | 01111110 | 7E | |
| Pkt_LEN | 00011110 | 1e. | 30字节数据包长度 |
| IF_Mix_CFG | 00000100 | 4. | |
| FREQOFF_CFG | 00000000 | 0 | |
| TOC_CFG | 00001011 | B | |
| MARC_SPACE | 00000000 | 0 | |
| ECG_CFG | 00000000 | 0 | |
| CFM_DATA_CFG | 00000000 | 0 | |
| EXT_CTRL | 00000001 | 1 | |
| RCCAL_Fine | 00000000 | 0 | |
| RCCAL_ROLL | 00000000 | 0 | |
| RCCAL_OFFSET | 00000000 | 0 | |
| FREQOFF1 | 00000000 | 0 | |
| FREQOFF0 | 00000000 | 0 | |
| FREQ2 | 01101100 | 6c. | |
| FREQ1 | 10000000 | 80 | 868MHz |
| FREQ0 | 00000000 | 0 |
是否有任何想法、原因是什么? 配置、代码还是硬件?
BR

