我采用dsp的StarterWare开发UDP例子,实现在接收数据时反馈给发送端,代码如下:
void recv(void *arg, struct udp_pcb *pcb, struct pbuf *p,struct ip_addr *addr, u16_t port)
{
char msg0[10]="received";
struct pbuf send;
send.payload=msg0;
send.len=8;
send.tot_len=8;
send.next=NULL;
int flag=udp_sendto(udp_pcbs,&send,addr,port);;
}
调试时,我用上位机发送udp可以进入接收程序,但是上位机没有收到dsp发的数据,不知道代码哪部分出问题?(返回值flag为0)
user5042864:
我刚才测试一下,如果我要发送10个字符,len设置要大于18上位机才可以收到,不知道原因?恳请解释一下!
user5042864:
我刚才测试一下,如果我要发送10个字符,len设置要大于18上位机才可以收到,不知道原因?恳请解释一下!
Shine:
回复 user5042864:
可能是UDP包长过小引起的。
user5042864:
回复 Shine:
如果我想发送小于18个字节的数据应该如何处理?