微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1310关于Easylink的问题

CC1310关于Easylink的问题

时间:12-23 整理:3721RD 点击:

您好,TI

      1、 我在500kbps的速率下使用listenbefortalk时,程序会经常死在Easylink_about函数里。

RFCDoorbellSendTo(uint32_t pOp)
{
while(HWREG(RFC_DBELL_BASE + RFC_DBELL_O_CMDR) != 0);

RFCAckIntClear();

HWREG(RFC_DBELL_BASE+RFC_DBELL_O_CMDR) = pOp;

while(!HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG));
RFCAckIntClear();

return(HWREG(RFC_DBELL_BASE + RFC_DBELL_O_CMDSTA));
}

死在while(!HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG));这条指令上,请问这是什么原因?能提供什么解决思路吗?

2、在使用listenbefortalk时,发现程序在调用EasyLink_transmitCCAAsync时,有时候会进不去他的回调ccaDoneCallback。请问什么原因能导致调用发送时,进不去回调函数?有什么解决思路,希望给说明一下。

进入不了EasyLink_transmitCCAAsync的回调函数是因为您现在TX没有成功,进而影响了程序一直卡在while(!HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG));

请问能否详细说下您现在的情况?

 您好,Susan Yang

         我现在使用500kpbs的速率下的listenbefortalk。一对多的方式发送数据,但是有时候我的程序会出现死在上面的while循环的情况,我并不清楚为什么我的TX指令会执行不成功,因为listenbefortalk有避让机制。我认为就算是多次发不出去,也只是返回EasyLink_Status_Busy_Error,并不影响进入callback。

         所以希望您帮我分析一下,是什么原因导致现在的现象?谢谢

发送的数据多吗?降低通信波特率试试。

数据量很多,所以使用500kbps,请问有解决的思路吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top