Part Number:CC1310
前提条件:调用RF_open接口成功
现象:调用RF_runCmd接口设置频率等参数,结果发现无结果返回,导致后续代码无法继续执行。
请问是什么原因导致这个问题?
Kevin Qiu1:
该函数将一个射频操作命令或命令链附加到射频驱动器的命令队列中,然后等待它完成,未完成前不会返回
例程rfPacketTx中有使用这个API的例子,你可以参考它来使用
,
user5360734:
实际测试发现,等待了几分钟,也没有返回。这个情况属于正常现象吗?
,
user5360734:
我这边也看了相关资料,RF_runCmd()是阻塞调用,可换用 RF_postCmd()或者RF_scheduleCmd()。然后用RF_pendCmd() 来阻塞命令,【RF_runCmd()其实就是 post + pend】。
也就是即便使用RF_postCmd去替换RF_runCmd,也需要使用RF_pendCmd,否则无法保证命令已执行。
,
Kevin Qiu1:
user5360734 说:
我这边也看了相关资料,RF_runCmd()是阻塞调用,可换用 RF_postCmd()或者RF_scheduleCmd()。然后用RF_pendCmd() 来阻塞命令,【RF_runCmd()其实就是 post + pend】。
也就是即便使用RF_postCmd去替换RF_runCmd,也需要使用RF_pendCmd,否则无法保证命令已执行。
是这样的
user5360734 说:实际测试发现,等待了几分钟,也没有返回。这个情况属于正常现象吗?
这是预期的,如果命令一直没有完成,就会卡在此处
,
user5360734:
请问在什么情况或条件下,会造成命令一直没有执行完成呢?
,
Kevin Qiu1:
硬件、软件都可能造成这个问题
硬件方面可能的原因是高频时钟可能没有起振,软件方面可能是其他的程序影响了这部分的执行,导致一直无法完成