程序大概是这样:
while(1)
{
RF_cmdPropTx.startTrigger.triggerType = TRIG_NOW
RF_cmdPropTx.startTime = 0;
RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTx,RF_PriorityNormal, NULL, 0);
RF_cmdPropRx.endTrigger.triggerType=TRIG_ABSTIME;
RF_cmdPropRx.endTime=RF_getCurrentTime()+800000;
RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropRx,RF_PriorityNormal, &callback,RF_EventRxEntryDone);
switch (((volatile RF_Op*)&RF_cmdPropRx)->status)
{
case PROP_DONE_ENDED:
//Received packet after having observed the end trigger; if the
// command is configured with endType set to 0, the end trigger
// will not terminate an ongoing reception
break;
}
}
接收状态下:射频运行一会就会进入“PROP_DONE_ENDED”错误,射频异常。请问怎么处理。
其中上述程序在一个板子上运行,另一个板子上会发数据给它。
Viki Shi:
The RX command have an end trigger, given by endTrigger and endTime. If this trigger occurs while the receiver is searching for sync, the operation ends with the status PROP_DONE_RXTIMEOUT. If the trigger occurs while receiving a packet, the action depends on pktConf.endType.
If pktConf.endType = 0, the packet is received to the end and the operation then ends with PROP_DONE_ENDED as the status. If pktConf.endType = 1, the packet reception is aborted and the operation ends with PROP_DONE_BREAK as the status.
user4967557:
回复 Viki Shi:
我知道意思,就是后来射频会异常了,怎么做可以不影响收发