CC1310关于Easylink的问题
您好,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,请问有解决的思路吗?