TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310使用EasyLink运行不稳定的问题

请教一个问题:

        使用CC1310基于rfWsnConcentrator_CC1310_LAUNCHXL_tirtos_ccs例程进行开发,出现接收数据不稳定的情况,共有37个节点,有时无线信号弱,concentrator端会不定时死机,不知什么情况?

怀疑例程中的如下命令让例程死机。

if(EasyLink_receiveAsync(rxDoneCallback, 0) != EasyLink_Status_Success) {

     System_abort("EasyLink_receiveAsync failed");
}

      如果函数EasyLink_receiveAsync返回不成功时,如果重新开始接收数据?需要先调用

EasyLink_abort后,再重新调用EasyLink_receiveAsync吗?

 

    谢谢

 

 

Alvin Chen:

RX is enabled by calling EasyLink_receive() or EasyLink_receiveAsync().
Entering RX can be immediate or scheduled.
EasyLink_receive() is blocking and EasyLink_receiveAsync() is nonblocking.
the EasyLink API does not queue messages so calling another API function while in EasyLink_receiveAsync() will return EasyLink_Status_Busy_Error
an Async operation can be cancelled with EasyLink_abort()

关于你说的死机的情况建议debug 去抓抓看

xie wei:

回复 Alvin Chen:

测试了一下,基本确定就是 EasyLink_receiveAsync()不再能正常工作了,收到不到数据。节点发送数据有随机性,可能有节点同时发送数据吧。
1、 EasyLink_transmit()发送前有没有载波侦听?
2、如果发现 EasyLink工作不正常,在不重启MCU的情况下,如何重启 EasyLink?

谢谢啊

xie wei

Alvin Chen:

回复 xie wei:

EasyLink_receiveAsync 是nonblocking 的,感觉是你没有发成功吧,你可以加个WOR试试。

赞(0)
未经允许不得转载:TI中文支持网 » CC1310使用EasyLink运行不稳定的问题
分享到: 更多 (0)