WOR-RX接收到数据并返回,发送触发方式为RF_cmdPropTxAdv.preTrigger.triggerType = TRIG_NOW;时,通信没有问题。
当我用绝对时刻在接收时间戳的基础上延迟100ms再发送,就出现接收一次然后卡死的现象,请帮忙分析一下这是怎么回事?
RF_cmdPropTxAdv.preTrigger.triggerType = TRIG_ABSTIME;
case PROP_DONE_OK:/* Received packet */worStatistics.doneOk++;Display_printf(uartDisplayHandle, 0, 0, "stamp = %d",rxstamp);RF_cmdPropTxAdv.pktLen = packetLength + 1;RF_cmdPropTxAdv.startTime = rxstamp + RF_convertMsToRatTicks(100);RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTxAdv,RF_PriorityNormal, NULL, 0);break;
Alvin Chen:
#define RF_convertMsToRatTicks(milliseconds) \((uint32_t)(milliseconds) * 4 * 1000)command.startTrigger.triggerType = TRIG_ABSTIME; command.startTime = RF_getCurrentTime();for (;;) {command.startTime += RF_convertMsToRatTicks(1000);RF_runCmd(rfHandle, (RF_Op*)&command, RF_PriorityNormal, NULL, 0); }请参考上面的。
user4959119:
回复 Alvin Chen:
我是在做时间同步要测量dTx,这种方式不太合适哦,我发现只有设置为立即触发才正常,这个方式也白搭,问题在哪里?
RF_cmdPropTxAdv.preTrigger.triggerType = TRIG_REL_PREVEND;
RF_cmdPropTxAdv.startTime = RF_convertMsToRatTicks(100);
user4959119:
回复 Alvin Chen:
恩解决了,把前导码触发和命令触发弄混了
Alvin Chen:
回复 user4959119:
请问你在做WOR的收发一体?
user4959119:
回复 Alvin Chen:
是的,收发一体
user4959119:
回复 Alvin Chen:
有什么需要注意的地方?