我正面临着一个问题,射频传输在运行一段时间后永远被击中.
查看以下快照、 rf_runScheduleCmd ()停止传输等待信号量释放的数据包、它处于此状态几小时。 这种情况经常发生、有时在一个小时内发生、有时在3-4小时内发生、但最终会发生。 此处无线节点平均每30秒传输几乎没有1个数据包。
我看到、当射频驱动器等待信号量释放时、1354进入深度睡眠状态。 我不知道为什么其中一个终止事件(RF_TERMINATE_EVENT_MASK)从未发生。 此外、等待信号量看起来也不正确。 我希望具有基于超时的射频传输、以避免将来出现此问题。 我们是否有一个 API 具有这样的超时选项、不需要接触库代码即可进行射频发射?
/*等待信号量*/
SemaphoreP_PEND (&h->state.semSync、 SemaphoreP_WAIT_FOREVER );
使用的 SDK - simplelink_cc13xx_cc26xx_sdk_7_10_01_24
无 RTOS 数据协议。
IAR 工作平台 是环境。
对讲机是 在 IEEE 802.15.4 通道15中的 STO 模式。

回调只会计算传输成功的次数、而不会执行任何操作。 我还删除了回调并尝试了以下回调、但结果是相同的。 代码运行几个小时(大部分时间为3-4个小时)、但最终进入该状态。 在传输命令之前、我 清除射频队列中所有挂起的命令、然后执行传输。
//在将无线电置于传输之前清除所有待处理的命令
rf_flushCmd (rfHandle、RF_CMDHANDLE_FLUSH_ALL、RF_ABORT_GALENATE);
//在帧结束时为 CRC16添加两个额外的字节。
rf_cmdIeeeTx_ieee154_0.payloadLen = len;//+ 2;
// memset (rf_cmdIeeeTx_ieee154_0.pPayload+len、0、2);//将 CRC 字节设置为0x00
memcpy (rf_cmdIeeeTx_ieee154_0.pPayload、data、len);
RF_EventMask 终止 Reason = RF_runScheduleCmd (
rfHandle、
(RF_Op*)&RF_cmdIeeTx_ieeee154_0、
&rfSchedParams,
null、
RF_EventTxEntryDone
);























