以下 是接收函数代码:问题是开始接收一段时间都是正常的,后面就莫名其妙的无法进入回到函数,希望得到帮助。
while(1)
{ EasyLink_receiveAsync(rfRxDoneCb, 0);//接收
if(Semaphore_pend(txDoneSem, (35000 / Clock_tickPeriod)) == FALSE)
{
/*RX timed out abort*/
if(EasyLink_abort() == EasyLink_Status_Success)
{
/*Wait for the abort*/
Semaphore_pend(txDoneSem, BIOS_WAIT_FOREVER);
}
}
}
Felix ZF:
从能正常接收到无法进入回调函数之间这段时间,做过什么操作?
是否使用过断点或暂停过代码执行?
dacui wang:
回复 Felix ZF:
没有做过任何操作,我是在做测试的时候发现的,因为看到数据异常我才打断点跟踪,最后是发现接收的时候程序一直没有进入过回调函数,而且EasyLink_abort() 函数的返回值一直是EasyLink_Status_Cmd_Error
Felix ZF:
回复 dacui wang:
你是使用SDK中的哪个示例工程进行测试的?对示例工程做了哪些修改?
dacui wang:
回复 Felix ZF:
工程是自己建立的,只是借鉴了官方例程rfEasyLinkRx 里的接收部分
Felix ZF:
回复 dacui wang:
你是用SDK中未修改的例程,会出现相同的情况吗?
ruimao cong:
请问发现是什么问题导致的吗?我现在也遇到相同的问题了。