专家好: 目前正在调试STM32F429的以太网,项目使用的是FreeRTOS+LWIP模式,创建工程使用的是cubemx,使用的开发板是nucleo-144,目前正在调试以太网部分。测试用程序是简单的echo程序,TCP模式没发现任何问题,即使开2个TCP线程都没问题;测试UDP模式时发现,第一次建立UDP连接后发送数据到开发板能够正常收到开发板的回应,当断开连接然后重新建立连接后则不能够收到开发板的回应。程序如下: static void udpecho_thread(void *arg) { err_t err,recv_err; struct netconn *conn; struct netbuf *buf; ip_addr_t *addr; unsigned short port; conn = netconn_new(NETCONN_UDP); if (conn!= NULL) { err = netconn_bind(conn, IP_ADDR_ANY, 7); if (err == ERR_OK) { while (1) { recv_err = netconn_recv(conn, &buf); if (recv_err == ERR_OK) { addr = netbuf_fromaddr(buf); port = netbuf_fromport(buf); netconn_connect(conn, addr, port); buf->addr.addr = 0; netconn_send(conn,buf); netbuf_delete(buf); } } } else { netconn_delete(conn); } } } 望专家解惑。 |
评分
查看全部评分
看代码问题可能是在连接PC时没有连接正确。
netconn_connect(conn, addr, port);
评分
查看全部评分
谢谢提供思路,还真没这样试过,貌似不应该是电脑的问题。