工具/软件:
我遇到了 CMD_BLE_ADV 的问题、无法运行。 我将链接三个广播包、并查看发送的正确广播包(使用 Wireshark)。 我每 30 毫秒重新发送一次三个链、这可以无限期地继续下去。 到目前为止、一切都很好。
收到 SCAN_REQ 时、问题就开始了。 CPE 传输适当的 scan_RSP(由 Wireshark 和发送 scan_REQ 的 iPhone 应用程序验证)。 我的广播器回调将收到事件“RF_EventRxEntryDone"的“的通知(根据 RF_postCmd 中的请求)。 接收缓冲区中的数据与 Wireshark 上显示的数据相匹配。 随后、我会收到一个 处于正常状态的“链中最后一个操作已完成“事件回调。
当我检查数据队列(在调试器中)时、我看到第一个缓冲区保存 SCAN_REQ 数据、rx_queue “pCurrEntry"现在“现在指向第二个缓冲区。 在打印出内容后、我的回调会将 DATA_ENTRY_FINISED 状态重置回 DATA_ENTRY_PENDING。 我的 rx_data 队列是一个 4 入口循环缓冲区。
到目前为止一切似乎都正常。 但是、CPE 的所有后续 CMD_BLE_ADV 命令都会以“Invalid parameter“终止(并且不传输广播包)。
我附上了我的`radio.c`的业务代码、调试屏幕截图显示 1) 广告工作和 2) 接收 scan_REQ 后广告失败。
正如注释中所述、设置代码是 studio7 生成的未编辑的“smartrf_settings.c"</s>“
所有这些都在 LP_CC2652R7 上运行。

