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.

[参考译文] CC1352R:获取专有协议的频率偏移补偿

Guru**** 1821780 points
Other Parts Discussed in Thread: CC1352R, CC2510, CC1101
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1018246/cc1352r-obtaining-frequency-offset-compensation-for-proprietary-protocol

器件型号:CC1352R
主题中讨论的其他器件: 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。