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

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;

}
}

}
}

user5032060:

参考的是6678的helloworld例程,没有主动发数据,采用的是上位机发一次之后,DSP记录上位机端口和ip。

求救求救

Shine:

回复 user5032060:

如果没有加SRIO那部分代码?UDP能正确发送数据吗?如果能的话,看一下是不是SRIO有什么资源如中断和UDP程序冲突了。

赞(0)
未经允许不得转载:TI中文支持网 » DSP通过UDP向上位机发数,若干包后上位机接收不到数据
分享到: 更多 (0)