主题中讨论的其他器件: CC2510
我们正在使用 CC1352R 微控制器开发下一代产品、将我们的专有协议(2.4GHz、FSK、FHSS、12 kbod 数据速率)从使用 CC2510的当前产品中移植出来。 端口通信正常、我们希望收到的数据包上的频率偏移信息。 我在网上找到了相关信息(RF 内核、第14.1节频率偏移补偿)、其中说明了如何在收到数据包后使用立即命令、RFC_CMD_READ_RFREG_t 结构、字段.commandNo 设置为0x0601、字段.address 设置为0x5154、从而获得频率偏移。 偏移将在.value 字段中返回。 成功接收数据包并在 RX 回调中通过 RF_runImmediateCmd 发出立即命令后、其返回状态表示命令成功、但在 Value 字段中找到的内容始终为0、无论我们有意将频率更改为"偏离中心"的距离有多远、 到通信停止的点(即、距离预期频率太远)。 如果您能提供任何帮助或提供其他建议的材料以供阅读、我们将不胜感激。 谢谢你。
代码片段如下所示
在 RX 回调函数外部声明
uint32_t offsetValue = 0;
RFC_CMD_READ_RFREG_t RF_cmdReadRfregFreqOffset =
{
.commandNo = CMD_READ_RFREG、// 0x0601、
.address = 0x5154、
.value = 12、 //注意:正在使用零、只是希望通过立即命令确认值变为零
};
RX 回调函数内
(笑声) 已成功获取数据包
if ((RFRX_immediateCommandStatus = RF_runImmediateCmd (h、(uint32_t*)&RF_cmdReadRfregFreqOffset))=RF_StatCmdDoneSuccessess)
{
offsetValue = rf_cmdReadRfregFreqOffset.value;
//注意计算将在此处执行,但值始终为0。