windy489 发表于 2013-10-17 16:38:22

stm32f207/lwip的udp通讯问题

我使用开发板提供的基于lwip的程序,自己写了一个udp通讯程序,如果是空数据包的话,就没问题,如果使用下面一条指令加载数据后
sp->payload = ( void *)(UDPArr); 
一执行发送就死机 了
 
void Udp_send(void)
{
  struct udp_pcb *upcb;
   struct pbuf *sp;
 struct ip_addr ipaddr1;
 unsigned char  UDPArr = {"hello!"};
 int t=0;
 
  IP4_ADDR(&ipaddr1 , 192,168,1,102);
  sp = pbuf_alloc( PBUF_TRANSPORT , sizeof(UDPArr) , PBUF_RAM); //PBUF_TRANSPORT PBUF_IP PBUF_LINK PBUF_RAW
  if(sp ==NULL)
  {
   printf("pbuf_alloc is null!!");
   return;
  }else
   sp->payload = ( void *)(UDPArr);  
   /* Create a new UDP control block  */
  upcb = udp_new();  
    udp_bind( upcb , IP_ADDR_ANY ,4500 );
  
  /* Connect the upcb  */
  t = udp_sendto(upcb,sp, &ipaddr1, 8782);
   /* Reset the upcb */
  udp_remove(upcb);
  pbuf_free(sp);
 
}
求高手指点什么原因!!!!!!

发表于 2013-10-21 10:57:17

RE:stm32f207/lwip的udp通讯问题

sp->payload = ( void *)(UDPArr); 这句话说明有问题。建议看看例程是如何操作的。
页: [1]
查看完整版本: stm32f207/lwip的udp通讯问题