At the risk of asking a foolish question, is there something I’m not doing
correctly here to get a simple UDP transmit using the api layer of lwip?
I’m new to using lwip ( and FreeRTOS) so this has been a bit of a steep
learning curve.  

 

In my Ethernet module, the setup has occurred:

  sys_init();

  mem_init();

  memp_init();

  pbuf_init();

  netif_init();

  ip_init(); 

  udp_init();  

  tcpip_init( prvEthernetConfigureInterface, NULL );

 

where in the prvEthernetConfigureInterface func:

 

netif_add(&MACB_if, &xIpAddr, &xNetMask, &xGateway, NULL, ethernetif_init,
tcpip_input);

/* make it the default interface */

netif_set_default(&MACB_if);

 /* bring it up */

 netif_set_up(&MACB_if);

dhcp_start(&MACB_if);

 

After a few seconds time to give DHCP a chance ( which does get an ip
address ), I spawn another task, where I do the following:

 

portTASK_FUNCTION( vUDPListener, pvParameters )

{

  struct netbuf *pxRxBuffer,*pxTxBuffer;

  struct netconn *pxUDPConnection;

  struct ip_addr* addr;

  char* data;

  err_t err;

  u16_t len;

  u16_t portnum;

  char text[] = "A TEXT STRING";

  

  /* Create a new udp connection handle */

  pxUDPConnection = netconn_new( NETCONN_UDP );

  netconn_bind(pxUDPConnection, NULL, (u16_t)UDP_DEFAULT_PORT );  

  pxTxBuffer = netbuf_new();

  netbuf_ref(pxTxBuffer,text,sizeof(text));

  err= netconn_send(pxUDPConnection,pxTxBuffer);

 

…

 

}

 

Not only does this not send any data, it seems to lock up the rest of the
app.  This is a task that I have added to an existing demo app for the Atmel
AVR32UC3A, on the EVK1100.   

 

Thanks for anyone who points out the stupid thing I’ve done/not done
here…….

 

-Ben

 

 

   

 


No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.21/1265 - Release Date: 2/7/2008
11:17 AM
 
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to