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);
}
求高手指点什么原因!!!!!!
RE:stm32f207/lwip的udp通讯问题
sp->payload = ( void *)(UDPArr); 这句话说明有问题。建议看看例程是如何操作的。
页:
[1]