搜索
查看: 2743|回复: 3

[求助] STM32F429 以太网UDP通讯异常

[复制链接]

该用户从未签到

2

主题

3

帖子

0

蝴蝶豆

新手上路

最后登录
2019-5-15
发表于 2018-3-5 16:33:14 | 显示全部楼层 |阅读模式
专家好:
      目前正在调试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);
    }
  }
}

望专家解惑。
回复

使用道具 举报

该用户从未签到

133

主题

4688

帖子

239

蝴蝶豆

版主

最后登录
2021-4-10
发表于 2018-3-5 16:37:57 | 显示全部楼层
我们来探讨一下,UDP断开后,如果没有主动发起数据到接收程序,接收程序发的任何数据理论终端收不到。TCP不一样,他们建立的是连接,重新连接后,是可以直接发送的。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

32

主题

1829

帖子

177

蝴蝶豆

论坛元老

最后登录
2021-5-11
发表于 2018-3-5 17:53:52 | 显示全部楼层
用的PC机和开发板进行UDP通讯吗?如若是可以在第二次进行UDP通讯的时候换一台PC进行UDP通讯测试,看看能否正常接收到开发板的回应。如果此时有回应,问题可能在上位机。
看代码问题可能是在连接PC时没有连接正确。
netconn_connect(conn, addr, port);

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

3

帖子

0

蝴蝶豆

新手上路

最后登录
2019-5-15
 楼主| 发表于 2018-3-9 15:52:14 | 显示全部楼层
Angel_YY 发表于 2018-3-5 17:53
用的PC机和开发板进行UDP通讯吗?如若是可以在第二次进行UDP通讯的时候换一台PC进行UDP通讯测试,看看能否 ...

谢谢提供思路,还真没这样试过,貌似不应该是电脑的问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-29 09:16 , Processed in 0.191512 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表