我实在smartRF06上面调试的,实现功能:串口接收到数据通过无线发送出去,无线接收到数据再通过串口发送出去
1、下图中的延时有什么用,我把时间调小后系统很容易死机,这是什么问题,这种情况是RF死机了还是串口死机了呢?
Felix ZF:
这里的absTime是在下面代码中生效的
if (txPacket->absTime != 0)
{
EasyLink_cmdPropTx.startTrigger.triggerType = TRIG_ABSTIME;
EasyLink_cmdPropTx.startTrigger.pastTrig = 1;
EasyLink_cmdPropTx.startTime = txPacket->absTime;
schParams_prop.endTime = EasyLink_cmdPropTx.startTime + EasyLink_ms_To_RadioTime(cmdTime);
}
else
{
EasyLink_cmdPropTx.startTrigger.triggerType = TRIG_NOW;
EasyLink_cmdPropTx.startTrigger.pastTrig = 1;
EasyLink_cmdPropTx.startTime = 0;
schParams_prop.endTime = RF_getCurrentTime() + EasyLink_ms_To_RadioTime(cmdTime);
}也就是说,这个asbTime是用来决定实际发送数据的绝对时间。
你贴出来的那段代码,是先读出当前时间,然后在当前时间的基础上加上一段时间,也就是说,在当前时间的EasyLink_ms_To_RadioTime(cmdTime)后,发送数据包。