【求助】W5300 UDP 接收不到数据
20000 2014-05-14 12:19:40 dsp控制W5300使用UDP与PC收发数据。W5300的UDP发送没问题,但无法接收PC传来的UDP报文。代码如下。
在CCS4.2里调试,正常连续运行时rxlen(接收缓冲区收到字符长度)始终为0;
如果在 "rxlen = 0x0fff & getSn_RX_RSR(s);"前加断点,rxlen是有接收值的,且接收字符个数也正确。
简单说就是:
dsp连续运行,getSn_SSR(s)返回0;
dsp单步运行,getSn_SSR(s)才有返回值。
这是什么原因,请大侠给分析一下。
socket(s, Sn_MR_UDP, port, mode);
switch((0x00ff & getSn_SSR(s)))
{
case SOCK_UDP:
rxlen = 0x0fff & getSn_RX_RSR(s);
if(rxlen > 0)
{
rxlen = recvfrom(s, (uint8*)rxbuf, rxlen, gw, &rxport);
}
if(len !=sendto(s,p,len,gw,port)) // send the data to the destination
{ }
break;
...........
}