大家好!
目前我使用的是带有 MSPM0的 CC115l、并且很难发送一些消息。 我已通过 CC 调试器使用 SmartRF 评估电路、并成功与一个传统射频接收器配合使用。
您能否重新查看我的以下代码、并帮助开发适当的程序流。
此致
Staneslousee2e.ti.com/.../spi_5F00_peripheral_5F00_echo_5F00_interrupts.c
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.
大家好!
目前我使用的是带有 MSPM0的 CC115l、并且很难发送一些消息。 我已通过 CC 调试器使用 SmartRF 评估电路、并成功与一个传统射频接收器配合使用。
您能否重新查看我的以下代码、并帮助开发适当的程序流。
此致
Staneslousee2e.ti.com/.../spi_5F00_peripheral_5F00_echo_5F00_interrupts.c
您好
我看了你的代码,有几件事你需要检查.
首先、您应首先使用 SmartRF Studio 提供的设置列表配置对讲机。
请勿按照 Studio 的建议写入其他寄存器。
例如、您想用这些寄存器做什么?:
0x7E、0x3F、
0x00、0x84、
另外、我不明白您对"芯片选择"的使用。
例如发送选通信号命令时、您不会设置/清除芯片选择。
若要无线发送7字节数据包(没有长度字节)、需要执行以下步骤:
// Pseudo code // Reset radio trxSpiCmdStrobe(CC1101_SRES); // Write registers to radio for(uint16 i = 0; i < (sizeof(preferredSettings)/sizeof(registerSetting_t)); i++) { writeByte = preferredSettings[i].data; cc1101SpiWriteReg(preferredSettings[i].addr, &writeByte, 1); } cc1101SpiWriteReg(CC1101_PA_TABLE0, paTable, sizeof(paTable)); // Write packet to TX FIFO cc1101SpiWriteTxFifo(txBuffer,sizeof(txBuffer)); // Strobe TX to send packet trxSpiCmdStrobe(CC1101_STX); // Wait for falling edge of GPIO0 (packet sent)
首先使用 SmartRF Studio 中已知良好的设置。
以下是针对2.4kbps 的设置、修改为支持固定的数据包长度(因为您的数据包不包含长度字节):
static const registerSetting_t preferredSettings[]= { {CC115L_IOCFG2, 0x2E}, {CC115L_IOCFG0, 0x06}, {CC115L_FIFOTHR, 0x47}, {CC115L_PKTLEN, 0x07}, {CC115L_PKTCTRL0, 0x04}, {CC115L_FREQ2, 0x21}, {CC115L_FREQ1, 0x62}, {CC115L_FREQ0, 0x76}, {CC115L_MDMCFG4, 0xF6}, {CC115L_MDMCFG3, 0x83}, {CC115L_MDMCFG2, 0x13}, {CC115L_DEVIATN, 0x15}, {CC115L_MCSM0, 0x18}, {CC115L_RESERVED_0X20, 0xFB}, {CC115L_FSCAL3, 0xE9}, {CC115L_FSCAL2, 0x2A}, {CC115L_FSCAL1, 0x00}, {CC115L_FSCAL0, 0x1F}, {CC115L_TEST2, 0x81}, {CC115L_TEST1, 0x35}, {CC115L_TEST0, 0x09}, };
Siri