在线时间3 小时
UID3080550
ST金币7
蝴蝶豆0
注册时间2017-12-6
该用户从未签到
新手上路
- 最后登录
- 2019-5-15
|
专家好:
目前正在调试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);
}
}
}
望专家解惑。 |
|