udp发数据发不出去

[复制链接]
4400|4
 楼主| Stephen_yu 发表于 2013-2-21 14:38 | 显示全部楼层 |阅读模式
udp, PCB, pc, UPC, AD
前段时间买了STM32F407的开发板和网卡模块,
我的要求是不需要接收数据,仅仅想发送一组数据,比如“helloworld”,但是总是行不通,贴下我的代码
unsigned char udp_data[]= "hello world!";

void udp_send_data()
{
   struct udp_pcb *upcb;
   struct pbuf* buff;
   struct ip_addr ipaddr;
   err_t err;
  
   buff = pbuf_alloc(PBUF_TRANSPORT, 1024, PBUF_ROM);
  buff->payload = udp_data;
  buff->len = sizeof(udp_data);
  buff->tot_len = sizeof(udp_data);;
   upcb = udp_new();
   udp_bind(upcb, IP_ADDR_ANY, 7);
   IP4_ADDR(&ipaddr, 192, 168, 1, 10);
   
  
     err = udp_connect(upcb, &ipaddr, 7);
    if(err == ERR_OK)
    {
       err = udp_send(upcb, buff);
      if(ERR_IS_FATAL(err))
        printf("udp_send...%d\r\n",err);
    }
      
   udp_disconnect(upcb);
   pbuf_free(buff);
   udp_remove(upcb);
}


将main函数的udp_echoserver_init 函数注释掉
在while(1)里添加udp_send_data()函数
为什么使用网络截包工具就是收不到发出去的数据呢?
请遇到此问题的朋友给点提示,谢谢
 楼主| Stephen_yu 发表于 2013-2-21 15:16 | 显示全部楼层
已解决
logokfu 发表于 2013-2-22 00:27 | 显示全部楼层
怎么解决的
 楼主| Stephen_yu 发表于 2013-3-4 22:27 | 显示全部楼层
IP4_ADDR(&ipaddr, 192, 168, 1, 10); 这个地址设置错了,设置成PC端的IP地址就对了
ccrbs 发表于 2013-7-26 09:56 | 显示全部楼层
用你的这个函数,还是发不出去。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部