请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC1352P 您好!
我正在尝试使用信标退出无线电循环、但根据 ROV、我的无线电循环在 rfObject.state.semSync 上被阻止。
关于确定如何/为什么这是卡住的任何提示? RF_runCmd 永远不会退出。
while(true) { // each loop iteration is 1 chain starting with RF_cmdFs
RF_runCmd(rfHandle, (RF_Op*)rf_ctx.RF_cmdFs, RF_PriorityNormal,
&listenerCallback, (RF_EventRxEntryDone | RF_EventLastCmdDone));
if (Semaphore_pend(radioExitSem, BIOS_NO_WAIT)) {
break;
}
}
仔细看一下、我有一个会一直等待的 cmdPropRx、通常使用 CMD_TRIGGER 会停止。
尝试用两个 RF_flushCmd 来杀死该命令(我没有最后一个命令句柄、希望它能捕获全部)。
CMD_TRIGGER 似乎也不会杀死 RX。
Semaphore_post(radioExitSem);
RF_flushCmd(rfHandle, 0, 1);
rfc_CMD_TRIGGER_t triggerCmd = {
.commandNo = CMD_TRIGGER,
.triggerNo = 1
};
RF_runImmediateCmd(rfHandle, (uint32_t*)&triggerCmd);
在此处接受建议。