This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSP通过UDP向上位机发数,若干包后上位机接收不到数据



DSP6670,6678,在NDK的基础上进行了修改。FPGA通过SRIO把数据送给DSP,DSP通过配置HWI获得FPGA端的数据,然后通过UDP发送数据到上位机,但是发送若干包后上位机就收不到数据了。检查sendto有返回值,应该是把数据发出去了。尝试过在sendto之后加一个延时,但依然存在该现象,应该也不是延时的问题。

核心代码如下(这是UDP里面的传输的那一部分)


while(1)
{

//recv_count = (int)recvnc( s, (void **)&pBuf, 0, &hBuffer );
recv_count = (int)recvncfrom( s, (void **)&pBuf, 0, (PSA)&sin1, &tmp, &hBuffer );
tmp = sizeof( sin1 );
if( recv_count <= 0 )
{
break;
}
else
{
while(1){
updata_count = *ptr;
if(updata_count > local_count)
{
dif = updata_count - local_count;
if(dif > 10)
{
dif = 10;
}

CACHE_wbInvAllL1d(CACHE_WAIT);
memcpy(data_transfer,(void* )(DATA_TO_PC),128);
sendto( s,data_transfer , 128, 0, (PSA)&sin1, sizeof(sin1) );//往上位机回发数据
local_count += 1;

}
}

}
}