|
我的板子为神州IV,,,调试UDP client时,调用udp_send(upcb, p)之后,server端也能接收到发送的内容,,但是程序指针跑到了void HardFault_Handler(void)死循环中,,,不知道什么引起的,求解???? void client_init(void) {4 @# M. ]1 d% q* e, n struct udp_pcb *upcb; struct pbuf *p;* g" `2 A$ L0 d5 i. o err_t ret;: r" w ]4 o6 o- X uint8_t Sent[]="fanqh test udp client\r\n";5 ?$ H' i9 A4 [2 r( F 5 U7 |# e$ n6 r- x /* Create a new UDP control block */& w; f+ ]. w& @# k" x4 d upcb = udp_new(); / e$ E' i4 B% J& E' f+ I. A 9 g' B+ `% h- ]: J* p /* Connect the upcb */ udp_connect(upcb, IP_ADDR_BROADCAST, UDP_SERVER_PORT);, G0 L- y' x2 P2 x5 I" j3 b! I p = pbuf_alloc(PBUF_TRANSPORT, 0, PBUF_RAM);, K7 j- O( I, z0 A ' p( S% w, m3 k l p->payload = Sent;* T3 }- y1 V5 N2 b0 U$ ^ p->tot_len=p->len = sizeof(Sent); /* Send out an UDP datagram to inform the server that we have strated a client application */6 A( U1 L( O4 h# i. _0 u6 I udp_send(upcb, p); /////////////////////////////////////////////////程序执行到这个函数后调到死循环HardFault_Handler{}中, k2 j- o2 U k0 M /* Reset the upcb */ udp_disconnect(upcb); /* Bind the upcb to any IP address and the UDP_PORT port*/ ret = udp_bind(upcb, IP_ADDR_ANY, UDP_CLIENT_PORT);9 z, l. z0 o* V- t" \# Y+ | /* Set a receive callback for the upcb */ udp_recv(upcb, udp_client_callback, NULL);, f c# ?# D$ H# B- i% ~3 f* E! Z 0 B& ?1 t5 u( q /* Free the p buffer */ pbuf_free(p); } 1 y7 [" w; b( d- B* | |
微信公众号
手机版
楼主要学会自己解决问题。
谢谢!!!